[PATCH] smc911x: Re-release spinlock on spurious interrupt
authorPeter Korsgaard <jacmet@sunsite.dk>
Tue, 15 Aug 2006 06:00:17 +0000 (23:00 -0700)
committerJeff Garzik <jeff@garzik.org>
Sat, 19 Aug 2006 21:44:29 +0000 (17:44 -0400)
The smc911x driver forgets to release the spinlock on spurious interrupts.
This little patch fixes it.

Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/smc911x.c

index d37bd86..0b15290 100644 (file)
@@ -1092,6 +1092,7 @@ static irqreturn_t smc911x_interrupt(int irq, void *dev_id, struct pt_regs *regs
        /* Spurious interrupt check */
        if ((SMC_GET_IRQ_CFG() & (INT_CFG_IRQ_INT_ | INT_CFG_IRQ_EN_)) !=
                (INT_CFG_IRQ_INT_ | INT_CFG_IRQ_EN_)) {
+               spin_unlock_irqrestore(&lp->lock, flags);
                return IRQ_NONE;
        }