diff options
author | Michael Buesch <mb@bu3sch.de> | 2007-11-07 19:08:26 +0100 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-11-10 10:25:13 +0100 |
commit | 9dcb5f477ffa757b7f1817da557905ccae17fc37 (patch) | |
tree | 6a8cfe723482d29e9be8cd958893d928feee7950 /drivers | |
parent | b43legacy: fix shared IRQ race condition (diff) | |
download | linux-9dcb5f477ffa757b7f1817da557905ccae17fc37.tar.xz linux-9dcb5f477ffa757b7f1817da557905ccae17fc37.zip |
b43: properly request pcmcia IRQ
PCMCIA needs an additional step to request the IRQ.
No need to add code to release the IRQ here, as that's done
automatically in pcmcia_disable_device().
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/b43/pcmcia.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c index 4b6648f0efcd..b79a6bd5396d 100644 --- a/drivers/net/wireless/b43/pcmcia.c +++ b/drivers/net/wireless/b43/pcmcia.c @@ -112,6 +112,14 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) if (res != CS_SUCCESS) goto err_disable; + dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FIRST_SHARED; + dev->irq.IRQInfo1 = IRQ_LEVEL_ID | IRQ_SHARE_ID; + dev->irq.Handler = NULL; /* The handler is registered later. */ + dev->irq.Instance = NULL; + res = pcmcia_request_irq(dev, &dev->irq); + if (res != CS_SUCCESS) + goto err_disable; + res = pcmcia_request_configuration(dev, &dev->conf); if (res != CS_SUCCESS) goto err_disable; |