Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd27ae76 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: pcl812: fix logic error in pcl812_ai_setup_dma()



commit 92afc2b2 inroduced a logic error
in the DMA size calculation.

If the 'nsamples' is greater than the 'unread_samples' then DMA needs to
be restarted. The current code checks it agains the 'max_samples'.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 119c9643
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -559,8 +559,8 @@ static void pcl812_ai_setup_dma(struct comedi_device *dev,
	 * unread samples and the number of samples remaining in the command.
	 * unread samples and the number of samples remaining in the command.
	 */
	 */
	nsamples = comedi_nsamples_left(s, max_samples + unread_samples);
	nsamples = comedi_nsamples_left(s, max_samples + unread_samples);
	if (nsamples > max_samples) {
	if (nsamples > unread_samples) {
		nsamples -= max_samples;
		nsamples -= unread_samples;
		desc->size = comedi_samples_to_bytes(s, nsamples);
		desc->size = comedi_samples_to_bytes(s, nsamples);
		comedi_isadma_program(desc);
		comedi_isadma_program(desc);
	}
	}