From: H Hartley Sweeten Date: Tue, 27 May 2014 17:12:55 +0000 (-0700) Subject: staging: comedi: pcl816: use comedi_fc helpers to validate timer arg X-Git-Tag: v4.9.8~5950^2~39^2~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e4d18fe6b43760ad0a4728a3c908de955cbd206c;p=platform%2Fkernel%2Flinux-rpi3.git staging: comedi: pcl816: use comedi_fc helpers to validate timer arg Use the comedi_fc helper cfc_check_trigger_arg_is() to validate the trigger argument when the source is TRIG_TIMER. The minimum test is not needed, this was already validated in Step 3. All the arguments are unsigned int, change the local variable to an unsigned int and rename it for aesthetic reasons. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/pcl816.c b/drivers/staging/comedi/drivers/pcl816.c index 1260122e..3742f5f 100644 --- a/drivers/staging/comedi/drivers/pcl816.c +++ b/drivers/staging/comedi/drivers/pcl816.c @@ -370,7 +370,7 @@ static int pcl816_ai_cmdtest(struct comedi_device *dev, { struct pcl816_private *devpriv = dev->private; int err = 0; - int tmp; + unsigned int arg; /* Step 1 : check if triggers are trivially valid */ @@ -417,15 +417,12 @@ static int pcl816_ai_cmdtest(struct comedi_device *dev, /* step 4: fix up any arguments */ if (cmd->convert_src == TRIG_TIMER) { - tmp = cmd->convert_arg; + arg = cmd->convert_arg; i8253_cascade_ns_to_timer(I8254_OSC_BASE_10MHZ, &devpriv->divisor1, &devpriv->divisor2, - &cmd->convert_arg, cmd->flags); - if (cmd->convert_arg < 10000) - cmd->convert_arg = 10000; - if (tmp != cmd->convert_arg) - err++; + &arg, cmd->flags); + err |= cfc_check_trigger_arg_is(&cmd->convert_arg, arg); } if (err)