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