On 2014-05-05 17:59, H Hartley Sweeten wrote:
Use the comedi_fc helper cfc_check_trigger_arg_is() to validate the
scan_begin_arg when the scan_begin_src is TRIG_TIMER.

For aesthetics reasons, rename the local variable 'tmp' to 'arg'.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
  drivers/staging/comedi/drivers/amplc_pci224.c | 29 +++++++++++++--------------
  1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/amplc_pci224.c 
b/drivers/staging/comedi/drivers/amplc_pci224.c
index c2b352c..ec65a34 100644
--- a/drivers/staging/comedi/drivers/amplc_pci224.c
+++ b/drivers/staging/comedi/drivers/amplc_pci224.c
@@ -719,7 +719,7 @@ pci224_ao_cmdtest(struct comedi_device *dev, struct 
comedi_subdevice *s,
  {
        struct pci224_private *devpriv = dev->private;
        int err = 0;
-       unsigned int tmp;
+       unsigned int arg;

        /* Step 1 : check if triggers are trivially valid */

@@ -746,14 +746,14 @@ pci224_ao_cmdtest(struct comedi_device *dev, struct 
comedi_subdevice *s,
         * There's only one external trigger signal (which makes these
         * tests easier).  Only one thing can use it.
         */
-       tmp = 0;
+       err = 0;
        if (cmd->start_src & TRIG_EXT)
-               tmp++;
+               err++;
        if (cmd->scan_begin_src & TRIG_EXT)
-               tmp++;
+               err++;
        if (cmd->stop_src & TRIG_EXT)
-               tmp++;
-       if (tmp > 1)
+               err++;
+       if (err > 1)
                err |= -EINVAL;

        if (err)

That's wrong and breaks when any of the _src are set to TRIG_EXT. It also disregards any errors from step 2a. It would have worked if you had just replaced 'tmp' with 'arg' in the original version.

@@ -761,6 +761,7 @@ pci224_ao_cmdtest(struct comedi_device *dev, struct 
comedi_subdevice *s,

        /* Step 3: check if arguments are trivially valid */

+       err = 0;

And then clearing 'err' would have been unnecessary here.

--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbo...@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to