[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 <daniel.ritz@gmx.ch> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
bf4de6f2db
commit
c181e0e00f
|
@ -832,7 +832,8 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
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;
|
||||
|
|
Loading…
Reference in a new issue