tree 4d105c0d9653ad575b66017c163ac437a1a2b793
parent bf4de6f2db79f3c396bd884f546cd2ea91a686f2
author Daniel Ritz <[EMAIL PROTECTED]> Sat, 10 Sep 2005 03:03:25 -0700
committer Linus Torvalds <[EMAIL PROTECTED]> Sat, 10 Sep 2005 03:57:47 -0700

[PATCH] fix pcmcia_request_irq() for multifunction card

multifunction cards need to have the same irq assigned to both functions.
the code tries that but fails because ret is still set to CS_IN_USE which
results in the function having the CB irq assigned.  yenta_set_socket then
just changes the irq routing to use the PCI interrupt but the first
functions irq handler is registered on an ISA interrupt.  boom.

Signed-off-by: Daniel Ritz <[EMAIL PROTECTED]>
Cc: Dominik Brodowski <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>

 drivers/pcmcia/pcmcia_resource.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -832,7 +832,8 @@ int pcmcia_request_irq(struct pcmcia_dev
-       if (ret) {
+       /* only assign PCI irq if no IRQ already assigned */
+       if (ret && !s->irq.AssignedIRQ) {
                if (!s->pci_irq)
                        return ret;
                irq = s->pci_irq;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to