hi On Tuesday 16 August 2005 22.47, Philippe Bourcier wrote: > > I tried latest debian 2.6.12 kernel; see: > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=321419 > > irq 11: nobody cared! > [<c01388fa>] __report_bad_irq+0x2a/0xa0 > [<c013836d>] handle_IRQ_event+0x3d/0x70 > [<c0138a12>] note_interrupt+0x82/0xa0 > [<c0138490>] __do_IRQ+0xf0/0x100 > [<c0105729>] do_IRQ+0x19/0x30 > [<c0103ada>] common_interrupt+0x1a/0x20 > [<c011f2ae>] __do_softirq+0x2e/0xa0 > [<c011f346>] do_softirq+0x26/0x30 > [<c010572e>] do_IRQ+0x1e/0x30 > [<c0103ada>] common_interrupt+0x1a/0x20 > handlers: > [<c8cddea0>] (usb_hcd_irq+0x0/0x80 [usbcore]) > [<c8d00990>] (yenta_interrupt+0x0/0x40 [yenta_socket]) > [<c8d00990>] (yenta_interrupt+0x0/0x40 [yenta_socket]) > Disabling IRQ #11 > eth0: interrupt(s) dropped! > > ask more if you need,
simple question: is that card a multifunction card with ethernet and a modem? i see from the dmesg that a ttyS2 pops up the same time when the 3c589 shows up. the problem compared to 2.4 is that the serial interface is assigned irq 11 when the network card is on irq 9. but on 2.4 both functions use irq 9 (which is correct). could you try the attached patch? if the patch doesn't help please give me the output of cbdump and cardctl ident when the card is inserted and all drivers are loaded. rgds -daniel ----- [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]> 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 @@ -831,7 +831,8 @@ int pcmcia_request_irq(struct pcmcia_dev } } #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; -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]