[PATCH 01/23] staging: comedi: adl_pci9111: use comedi_fc helpers to validate timer args

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use the comedi_fc helper, cfc_check_trigger_arg_is(), to validate
the cmd->convert_arg for the convert_src TRIG_TIMER. Pass the local
variable to i8253_cascade_ns_to_timer() instead of the cmd argument.
This value is modified by that function to return the actual time
(in nanoseconds) that the timer will be programmed with based on the
calculated divisors. The cfc_check_trigger_arg_is() helper will then
validate that the cmd->convert_arg is that value and modify it if not.

Also use cfc_check_trigger_arg_is() to validate that the
cmd->scan_begin_arg is the calculate value and modify it if not.

Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/staging/comedi/drivers/adl_pci9111.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9111.c b/drivers/staging/comedi/drivers/adl_pci9111.c
index c84930c..bb1d56e 100644
--- a/drivers/staging/comedi/drivers/adl_pci9111.c
+++ b/drivers/staging/comedi/drivers/adl_pci9111.c
@@ -418,9 +418,8 @@ static int pci9111_ai_do_cmd_test(struct comedi_device *dev,
 		i8253_cascade_ns_to_timer(I8254_OSC_BASE_2MHZ,
 					  &dev_private->div1,
 					  &dev_private->div2,
-					  &cmd->convert_arg, cmd->flags);
-		if (cmd->convert_arg != arg)
-			err |= -EINVAL;
+					  &arg, cmd->flags);
+		err |= cfc_check_trigger_arg_is(&cmd->convert_arg, arg);
 	}
 
 	/*
@@ -433,10 +432,7 @@ static int pci9111_ai_do_cmd_test(struct comedi_device *dev,
 		if (arg < cmd->scan_begin_arg)
 			arg *= (cmd->scan_begin_arg / arg);
 
-		if (cmd->scan_begin_arg != arg) {
-			cmd->scan_begin_arg = arg;
-			err |= -EINVAL;
-		}
+		err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, arg);
 	}
 
 	if (err)
-- 
1.9.2

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux