[PATCH 4.15 012/128] staging: comedi: fix comedi_nsamples_left.

2018-03-16 Thread Greg Kroah-Hartman
4.15-stable review patch.  If anyone has any objections, please let me know.

--

From: Frank Mori Hess 

commit a42ae5905140c324362fe5036ae1dbb16e4d359c upstream.

A rounding error was causing comedi_nsamples_left to
return the wrong value when nsamples was not a multiple
of the scan length.

Cc:  # v4.4+
Signed-off-by: Frank Mori Hess 
Reviewed-by: Ian Abbott 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/staging/comedi/drivers.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
@@ -484,8 +484,7 @@ unsigned int comedi_nsamples_left(struct
struct comedi_cmd *cmd = >cmd;
 
if (cmd->stop_src == TRIG_COUNT) {
-   unsigned int nscans = nsamples / cmd->scan_end_arg;
-   unsigned int scans_left = __comedi_nscans_left(s, nscans);
+   unsigned int scans_left = __comedi_nscans_left(s, 
cmd->stop_arg);
unsigned int scan_pos =
comedi_bytes_to_samples(s, async->scan_progress);
unsigned long long samples_left = 0;




[PATCH 4.15 012/128] staging: comedi: fix comedi_nsamples_left.

2018-03-16 Thread Greg Kroah-Hartman
4.15-stable review patch.  If anyone has any objections, please let me know.

--

From: Frank Mori Hess 

commit a42ae5905140c324362fe5036ae1dbb16e4d359c upstream.

A rounding error was causing comedi_nsamples_left to
return the wrong value when nsamples was not a multiple
of the scan length.

Cc:  # v4.4+
Signed-off-by: Frank Mori Hess 
Reviewed-by: Ian Abbott 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/staging/comedi/drivers.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
@@ -484,8 +484,7 @@ unsigned int comedi_nsamples_left(struct
struct comedi_cmd *cmd = >cmd;
 
if (cmd->stop_src == TRIG_COUNT) {
-   unsigned int nscans = nsamples / cmd->scan_end_arg;
-   unsigned int scans_left = __comedi_nscans_left(s, nscans);
+   unsigned int scans_left = __comedi_nscans_left(s, 
cmd->stop_arg);
unsigned int scan_pos =
comedi_bytes_to_samples(s, async->scan_progress);
unsigned long long samples_left = 0;