diff options
author | Finn Thain <fthain@telegraphics.com.au> | 2010-05-31 22:18:32 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-02 08:16:22 -0400 |
commit | 38454db3f0b694df929073a5a867edf30551d950 (patch) | |
tree | 0725a76b8f03337b63caf3da8aaee526cba990ef /drivers/net/mac8390.c | |
parent | c1f8fc57c046903b5e7c891f2922592d5f775af3 (diff) |
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>
Diffstat (limited to 'drivers/net/mac8390.c')
-rw-r--r-- | drivers/net/mac8390.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/mac8390.c b/drivers/net/mac8390.c index 1136c9a22b67..6b14cfef46c2 100644 --- a/drivers/net/mac8390.c +++ b/drivers/net/mac8390.c | |||
@@ -641,12 +641,13 @@ static int __init mac8390_initdev(struct net_device *dev, | |||
641 | 641 | ||
642 | static int mac8390_open(struct net_device *dev) | 642 | static int mac8390_open(struct net_device *dev) |
643 | { | 643 | { |
644 | int err; | ||
645 | |||
644 | __ei_open(dev); | 646 | __ei_open(dev); |
645 | if (request_irq(dev->irq, __ei_interrupt, 0, "8390 Ethernet", dev)) { | 647 | err = request_irq(dev->irq, __ei_interrupt, 0, "8390 Ethernet", dev); |
646 | pr_info("%s: unable to get IRQ %d.\n", dev->name, dev->irq); | 648 | if (err) |
647 | return -EAGAIN; | 649 | pr_info("%s: unable to get IRQ %d\n", dev->name, dev->irq); |
648 | } | 650 | return err; |
649 | return 0; | ||
650 | } | 651 | } |
651 | 652 | ||
652 | static int mac8390_close(struct net_device *dev) | 653 | static int mac8390_close(struct net_device *dev) |