The 'triggered' value is read directly from the three trigger id
registers and does not have any extra data that needs masked off.
Remove the 'mytrig' local variable and just use 'triggered' directly.

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/pcmuio.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/comedi/drivers/pcmuio.c 
b/drivers/staging/comedi/drivers/pcmuio.c
index 2dca119..3dbc1d3 100644
--- a/drivers/staging/comedi/drivers/pcmuio.c
+++ b/drivers/staging/comedi/drivers/pcmuio.c
@@ -297,7 +297,6 @@ static void pcmuio_handle_intr_subdev(struct comedi_device 
*dev,
        unsigned oldevents = s->async->events;
        unsigned int val = 0;
        unsigned long flags;
-       unsigned mytrig;
        unsigned int i;
 
        spin_lock_irqsave(&chip->spinlock, flags);
@@ -305,16 +304,13 @@ static void pcmuio_handle_intr_subdev(struct 
comedi_device *dev,
        if (!chip->active)
                goto done;
 
-       mytrig = triggered;
-       mytrig &= ((0x1 << s->n_chan) - 1);
-
-       if (!(mytrig & chip->enabled_mask))
+       if (!(triggered & chip->enabled_mask))
                goto done;
 
        for (i = 0; i < len; i++) {
                unsigned int chan = CR_CHAN(s->async->cmd.chanlist[i]);
-               if (mytrig & (1U << chan))
-                       val |= (1U << i);
+               if (triggered & (1 << chan))
+                       val |= (1 << i);
        }
 
        /* Write the scan to the buffer. */
-- 
1.8.4.4

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

Reply via email to