Fixes an early return from the interrupt handler on a spurious 
interrupt without releasing a lock.

Signed-off-by: Jason Borg <[EMAIL PROTECTED]>
---
Note, I thought I'd mention that I noticed a patch with this
same fix in 2.6.18-rc4-mm2.

diff -uprN linux-2.6.18-rc4-orig/drivers/net/smc911x.c 
linux-2.6.18-rc4/drivers/net/smc911x.c
--- linux-2.6.18-rc4-orig/drivers/net/smc911x.c 2006-08-22 15:39:24.200701014 
-0400
+++ linux-2.6.18-rc4/drivers/net/smc911x.c      2006-08-22 15:39:54.778193514 
-0400
@@ -1092,6 +1092,7 @@ static irqreturn_t smc911x_interrupt(int
        /* 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;
        }
 


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to