提交 c181e0e0 编写于 作者: D Daniel Ritz 提交者: Linus Torvalds

[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: NDaniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 bf4de6f2
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册