diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-04-07 14:12:56 +0200 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-04-11 14:36:58 +0200 |
commit | d3e03f4ea81456d52810a03a17dd88f78a080818 (patch) | |
tree | 33638cc4a9bbd1751c9da91dcb38b83b577c46a8 /drivers/pcmcia/pcmcia_resource.c | |
parent | 0eddb519b9127c73d53db4bf3ec1d45b13f844d1 (diff) |
pcmcia: use previously assigned IRQ for all card functions
Use a previously assigned IRQ for all card functions, not only if
CONFIG_PCMCIA_PROBE is set.
Reported-by: Alexander Kurz <linux@kbdbabel.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/pcmcia_resource.c')
-rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index caec1dee2a4..7c3d03bb4f3 100644 --- a/drivers/pcmcia/pcmcia_resource.c +++ b/drivers/pcmcia/pcmcia_resource.c @@ -755,12 +755,12 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req) else printk(KERN_WARNING "pcmcia: Driver needs updating to support IRQ sharing.\n"); -#ifdef CONFIG_PCMCIA_PROBE - - if (s->irq.AssignedIRQ != 0) { - /* If the interrupt is already assigned, it must be the same */ + /* If the interrupt is already assigned, it must be the same */ + if (s->irq.AssignedIRQ != 0) irq = s->irq.AssignedIRQ; - } else { + +#ifdef CONFIG_PCMCIA_PROBE + if (!irq) { int try; u32 mask = s->irq_mask; void *data = p_dev; /* something unique to this device */ |