OSDN Git Service

staging: comedi: quatech_daqp_cs: simplify IRQ_NONE checks in daqp_interrupt()
authorH Hartley Sweeten <hartleys@visionengravers.com>
Fri, 25 Jan 2013 22:00:48 +0000 (15:00 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Jan 2013 04:06:40 +0000 (23:06 -0500)
Remove all the pr_warn() noise in the sanity checks that make sure
the interrupt is for this device.

Simplify the sanity checks into one if() condition.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/quatech_daqp_cs.c

index 39af156..fe36450 100644 (file)
@@ -238,37 +238,13 @@ static int daqp_ai_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
 static enum irqreturn daqp_interrupt(int irq, void *dev_id)
 {
        struct local_info_t *local = dev_id;
-       struct comedi_device *dev;
-       struct comedi_subdevice *s;
+       struct comedi_device *dev = local ? local->dev : NULL;
+       struct comedi_subdevice *s = local ? local->s : NULL;
        int loop_limit = 10000;
        int status;
 
-       if (local == NULL) {
-               pr_warn("irq %d for unknown device.\n", irq);
-               return IRQ_NONE;
-       }
-
-       dev = local->dev;
-       if (dev == NULL) {
-               pr_warn("NULL comedi_device.\n");
-               return IRQ_NONE;
-       }
-
-       if (!dev->attached) {
-               pr_warn("struct comedi_device not yet attached.\n");
+       if (!dev || !dev->attached || !s || s->private != local)
                return IRQ_NONE;
-       }
-
-       s = local->s;
-       if (s == NULL) {
-               pr_warn("NULL comedi_subdevice.\n");
-               return IRQ_NONE;
-       }
-
-       if (s->private != local) {
-               pr_warn("invalid comedi_subdevice.\n");
-               return IRQ_NONE;
-       }
 
        switch (local->interrupt_mode) {