X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fparport%2Fparport_ip32.c;h=6d58bf895b1ac8690d786ad390e6b7c282ce5f62;hb=affc23d11631a47d35dfd552ded8ca255c001490;hp=ec44efdbb84e15d519b5f9553c6a5b07665de4a0;hpb=463e7c7cf9aaf95dd05e97e1a47854fdf5454cdc;p=linux-2.6 diff --git a/drivers/parport/parport_ip32.c b/drivers/parport/parport_ip32.c index ec44efdbb8..6d58bf895b 100644 --- a/drivers/parport/parport_ip32.c +++ b/drivers/parport/parport_ip32.c @@ -778,14 +778,16 @@ static irqreturn_t parport_ip32_interrupt(int irq, void *dev_id) struct parport * const p = dev_id; struct parport_ip32_private * const priv = p->physport->private_data; enum parport_ip32_irq_mode irq_mode = priv->irq_mode; + switch (irq_mode) { case PARPORT_IP32_IRQ_FWD: - parport_generic_irq(irq, p); - break; + return parport_irq_handler(irq, dev_id); + case PARPORT_IP32_IRQ_HERE: parport_ip32_wakeup(p); break; } + return IRQ_HANDLED; }