[PATCH 2/5] smc911x: Early exit from isr with spinlock held
From: Jason Borg <hidden>
Date: 2006-08-23 19:16:23
From: Jason Borg <hidden>
Date: 2006-08-23 19:16:23
Fixes an early return from the interrupt handler on a spurious interrupt without releasing a lock. Signed-off-by: Jason Borg <redacted> --- 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; }