From: H Hartley Sweeten Date: Fri, 25 Jan 2013 22:00:48 +0000 (-0700) Subject: staging: comedi: quatech_daqp_cs: simplify IRQ_NONE checks in daqp_interrupt() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=90967d66269f20f24e8465121dadb99e51ad1f64;p=openwrt%2Fstaging%2Fblogic.git staging: comedi: quatech_daqp_cs: simplify IRQ_NONE checks in daqp_interrupt() 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 Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/quatech_daqp_cs.c b/drivers/staging/comedi/drivers/quatech_daqp_cs.c index 39af1565c066..fe36450cf8cc 100644 --- a/drivers/staging/comedi/drivers/quatech_daqp_cs.c +++ b/drivers/staging/comedi/drivers/quatech_daqp_cs.c @@ -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) {