Re: Yet another panic

Martin Mares (mj@atrey.karlin.mff.cuni.cz)
Wed, 17 Jun 1998 09:25:27 +0200


Hello,

> p->pdev points to the struct pci_device that we got back from
> pci_find_device during the detect routine. It should never go away.

Yes. The only exception are CardBus devices, but they are not handled
by current PCI code anyway.

> > You should worry at this point by the way. That function is called
> > when the 2940 encounters a PCI error condition - such as a parity error.
> > It could be something innocent like a PCI target abort when no PCI bus
> > time is free.
>
> It shouldn't be calling the BIOS according to my understanding of the pci
> function changes. Specifically, pcibios_read_config_byte would call the
> BIOS, but I was under the impression that the pci_read_config_byte didn't
> call into the BIOS. Am I wrong on this one?

Yes. Both pcibios_* and pci_* functions can call the BIOS as on some
machines we talk only to the BIOS.

The question is whether we really need to access PCI configuration space in
interrupt handlers. If we do, I'll change the PCI functions to use IRQ-safe
spinlocks instead of global cli(). We currently need no locking on the device
list.

Have a nice fortnight

-- 
Martin `MJ' Mares   <mj@ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"EMACS == Escape, Meta, Alt, Control, Shift"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu