X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsmc911x.c;h=0b15290df278c5a0eb859a7a49fe370415e3dd75;hb=8ce7a9c159c8c4eb480f0a65c6af753dbf9a1a70;hp=bdd8702ead54578b300e1821604b3117403d3127;hpb=b5ed7639c9f502898af4109e778f5613dacbfd9c;p=powerpc.git diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index bdd8702ead..0b15290df2 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; } @@ -2081,7 +2082,7 @@ static int __init smc911x_probe(struct net_device *dev, unsigned long ioaddr) lp->ctl_rspeed = 100; /* Grab the IRQ */ - retval = request_irq(dev->irq, &smc911x_interrupt, SA_SHIRQ, dev->name, dev); + retval = request_irq(dev->irq, &smc911x_interrupt, IRQF_SHARED, dev->name, dev); if (retval) goto err_out;