Bug#321419: linux-image-2.6.12-1-686: irq11 makes eth0 problems (Was: Re: Bug#303550: kernel-image-2.6.11-1-686: irq11 makes eth0 problems)

Mike Cumings mcumings at gmail.com
Tue Aug 16 23:37:47 EDT 2005


I was going to try this patch out on my system as well, since I
have yet to get past the disabled interrupt problem.  What kernel
is the patch for?  I didnt see any pcmcia_resource in 2.6.12.5...
Thanks,

Mike

On 8/16/05, Daniel Ritz <daniel.ritz at gmx.ch> wrote:
> 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 <daniel.ritz at gmx.ch>
> 
> 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;
> 
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia
> 


-- 
Mike Cumings



More information about the linux-pcmcia mailing list