aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2008-06-16 08:35:15 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2008-06-24 09:33:41 -0400
commit635416ef393e8cec5a89fc6c1de710ee9596a51e (patch)
tree2a59604e72fb7432fc462f090e5efe51fbddddff /drivers/pcmcia
parent05f43d48ddbda0ce74941aff4711a1829116cc4f (diff)
pcmcia: irq probe can be done without risking an IRQ storm
Nowdays you can ask for an IRQ to be allocated but not enabled, when PCMCIA was written this was not true and this feature is thus not used [linux@dominikbrodowski.net: add comment and ifdef to avoid compilation breakage at least on alpha] Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/pcmcia_resource.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index c8f77b889d42..78af59415930 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -812,6 +812,15 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
812 type = IRQF_SHARED; 812 type = IRQF_SHARED;
813 813
814#ifdef CONFIG_PCMCIA_PROBE 814#ifdef CONFIG_PCMCIA_PROBE
815
816#ifdef IRQ_NOAUTOEN
817 /* if the underlying IRQ infrastructure allows for it, only allocate
818 * the IRQ, but do not enable it
819 */
820 if (!(req->Attributes & IRQ_HANDLE_PRESENT))
821 type |= IRQ_NOAUTOEN;
822#endif /* IRQ_NOAUTOEN */
823
815 if (s->irq.AssignedIRQ != 0) { 824 if (s->irq.AssignedIRQ != 0) {
816 /* If the interrupt is already assigned, it must be the same */ 825 /* If the interrupt is already assigned, it must be the same */
817 irq = s->irq.AssignedIRQ; 826 irq = s->irq.AssignedIRQ;