mac8390: propagate error code from request_irq

Use the request_irq() error code as the return value for mac8390_open().
EAGAIN doesn't make sense for Nubus slot IRQs. Only this driver can claim
this IRQ (until the NIC is removed, which means everything is powered
down).

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Finn Thain
2010-06-01 02:18:32 +00:00
committed by David S. Miller
parent c1f8fc57c0
commit 38454db3f0

View File

@@ -641,12 +641,13 @@ static int __init mac8390_initdev(struct net_device *dev,
static int mac8390_open(struct net_device *dev) static int mac8390_open(struct net_device *dev)
{ {
int err;
__ei_open(dev); __ei_open(dev);
if (request_irq(dev->irq, __ei_interrupt, 0, "8390 Ethernet", dev)) { err = request_irq(dev->irq, __ei_interrupt, 0, "8390 Ethernet", dev);
pr_info("%s: unable to get IRQ %d.\n", dev->name, dev->irq); if (err)
return -EAGAIN; pr_info("%s: unable to get IRQ %d\n", dev->name, dev->irq);
} return err;
return 0;
} }
static int mac8390_close(struct net_device *dev) static int mac8390_close(struct net_device *dev)