Re: PCI lost interrupts and PLX chips

From: Dimitris Lampridis
Date: Thu Jan 13 2005 - 07:06:38 EST


On Thu, 2005-01-13 at 13:49, linux-os wrote:
> On Thu, 13 Jan 2005, Dimitris Lampridis wrote:
>
> > Hi everybody,
> > I noticed a conversation some days ago that also mentioned something
> > about PLX chips and a certain problem resulting in loss of interrupt
> > signals.
> >
> > I'm writing a driver for a PCI-based device (an embedded USB Host
> > Controller) and it uses a PLX bridge (device ID 5406). Although I've set
> > up the device correctly and a logical analyzer shows the interrupts
> > being generated on the USB HC chip, nothing comes past the bridge, thus
> > nothing reaches the system. I use a typical pci_enable_device() followed
> > but some request_region() and of course request_irq() on a kernel
> > 2.6.10-rc3 (i386 system, VIA KT133, no APIC...)
> > Does this have something to do with the discussion about PLX chips
> > mentioned above? If it does, can anybody make clear what I have to do to
> > see those interrupts coming?
> >
> > You can find the mail in question at:
> > http://seclists.org/lists/linux-kernel/2005/Jan/0792.html
> >
> > Thanks,
> > Dimitris
>
> Make sure you execute pci_enable_device() __before__ you believe
> the IRQ number in the structure.

I was doing that all the time. I'm calling pci_enable_device(pdev), then
reading pdev->irq, then calling request_irq(pdev->irq,...). But I don't
get interrupts. Is it possible for the compiler to rearrange the order
of execution?
I was talking about that strange phenonomenon you were saying with PLX
and interrupts going mad when initializing the device, ie the trick with
enable->disable->do whatever(this is where I need help if it applies to
me)->reenable.

Thanks,
Dimitris

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/