summaryrefslogtreecommitdiff
path: root/drivers/net/smc911x.c
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2006-08-14 23:00:17 -0700
committerJeff Garzik <jeff@garzik.org>2006-08-19 17:44:29 -0400
commita4d09272480e57cd4aa1156cac7aba9b08885bf9 (patch)
tree5c073158dfc31a6842a75fbf22f80bb304dff934 /drivers/net/smc911x.c
parent2fd0e33f4f967022ef2f3249b6c512b309734384 (diff)
downloadlwn-a4d09272480e57cd4aa1156cac7aba9b08885bf9.tar.gz
lwn-a4d09272480e57cd4aa1156cac7aba9b08885bf9.zip
[PATCH] smc911x: Re-release spinlock on spurious interrupt
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>
Diffstat (limited to 'drivers/net/smc911x.c')
-rw-r--r--drivers/net/smc911x.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index d37bd860b336..0b15290df278 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -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;
}