b43: Fix PCMCIA IRQ routing
authorMichael Buesch <mb@bu3sch.de>
Fri, 28 Mar 2008 10:48:53 +0000 (11:48 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 1 Apr 2008 19:44:08 +0000 (15:44 -0400)
This fixes the IRQ routing on PCMCIA devices.
With this patch the card will finally be able to receive IRQs.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/pcmcia.c

index b79a6bd5396d8a050d3f69f4fe8a215e0376825c..371e4a11951190e17d2e18597cce5f9844ce23aa 100644 (file)
@@ -91,6 +91,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
 
        dev->conf.ConfigBase = parse.config.base;
        dev->conf.Present = parse.config.rmask[0];
+       dev->conf.Attributes = CONF_ENABLE_IRQ;
+       dev->conf.IntType = INT_MEMORY_AND_IO;
 
        dev->io.BasePort2 = 0;
        dev->io.NumPorts2 = 0;
@@ -112,8 +114,8 @@ 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.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
+       dev->irq.IRQInfo1 = IRQ_LEVEL_ID;
        dev->irq.Handler = NULL; /* The handler is registered later. */
        dev->irq.Instance = NULL;
        res = pcmcia_request_irq(dev, &dev->irq);