diff options
author | Russell King - ARM Linux <linux@arm.linux.org.uk> | 2009-11-28 01:13:23 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-30 08:47:14 +0100 |
commit | d5ccd67bb77ced5249067d05171992a7d5020393 (patch) | |
tree | 647c1354244a1a29816ed1c1d463d2f6db056600 | |
parent | smsc9420: prevent BUG() if ethtool is called with interface down (diff) | |
download | linux-d5ccd67bb77ced5249067d05171992a7d5020393.tar.xz linux-d5ccd67bb77ced5249067d05171992a7d5020393.zip |
NET: smc91x: Fix irq flags
smc91x.h defines SMC_IRQ_FLAGS to be -1 when it wants the interrupt
flags to be taken from the resource structure. However, d280ead
changed this to checking for non-zero resource flags.
Unfortunately, this means that on some platforms, we end up passing
'-1' to request_irq rather than the desired result. Combine the two
conditions into one so that the IRQ flags are taken from the resource
if either SMC_IRQ_FLAGS is -1 or the resource flags specify an
interrupt trigger.
This restores network on at least the Versatile platform.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/smc91x.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index 05c91ee6921e..f12206bdbb75 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c @@ -2283,7 +2283,7 @@ static int __devinit smc_drv_probe(struct platform_device *pdev) ndev->irq = ires->start; - if (ires->flags & IRQF_TRIGGER_MASK) + if (irq_flags == -1 || ires->flags & IRQF_TRIGGER_MASK) irq_flags = ires->flags & IRQF_TRIGGER_MASK; ret = smc_request_attrib(pdev, ndev); |