If we failed to probe/attach somehow, we never have a sc->sc_hcca

but the present PCI probe code still thinks we are there as the pci attach
can't return an error code.

This means we are in the shared interrupt list, but have not been set up.
If we are sharing ints with another device, ohci_intr will be called and will
coredump on a NULL reference. So just return if it is called when not set up.

This fixes the symptom and not the cause.
The right answer is to let the PCI system know that the attach failed,
or to fail earlier (in the PCI probe).
The attach() is a void fn() so it can't return failure..
This commit is contained in:
Julian Elischer 1998-12-11 06:02:06 +00:00
parent 57c2edb48f
commit 8cbe8a3ebf

View file

@ -542,6 +542,9 @@ ohci_intr(p)
u_int32_t intrs, eintrs;
ohci_physaddr_t done;
if ((sc == NULL) || (sc->sc_hcca == NULL))
return (0);
done = sc->sc_hcca->hcca_done_head;
if (done != 0) {
intrs = OHCI_WDH;