diff options
author | tmm <tmm@FreeBSD.org> | 2002-02-13 15:44:58 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-02-13 15:44:58 +0000 |
commit | fd0bcc7a8866122b86e79914a9c7f2318614443a (patch) | |
tree | 1fbe7c5589ec3112f85b81ae2840fc9aaa6477c1 /sys/sparc64/pci | |
parent | d1b951ba9658ec4d358f0d0e509444d0296c42e3 (diff) | |
download | FreeBSD-src-fd0bcc7a8866122b86e79914a9c7f2318614443a.zip FreeBSD-src-fd0bcc7a8866122b86e79914a9c7f2318614443a.tar.gz |
Don't panic when no interrupt map can be found for a PCI bus; this seems
to happen on some models, like the Netra T1.
Diffstat (limited to 'sys/sparc64/pci')
-rw-r--r-- | sys/sparc64/pci/ofw_pci.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/sparc64/pci/ofw_pci.c b/sys/sparc64/pci/ofw_pci.c index 67ee787..f56efaf 100644 --- a/sys/sparc64/pci/ofw_pci.c +++ b/sys/sparc64/pci/ofw_pci.c @@ -166,8 +166,11 @@ ofw_pci_init_intr(device_t dev, phandle_t bus, struct ofw_pci_imap *intrmap, if (nintrmap == -1 || OF_getprop(bus, "interrupt-map-mask", &lintrmapmsk, sizeof(lintrmapmsk)) == -1) { - panic("ofw_pci_init_intr: could not get " - "interrupt map properties"); + printf("ofw_pci_init_intr: could not get " + "interrupt map properties\n"); + if (nintrmap != -1) + free(intrmap, M_OFWPROP); + return; } intrmapmsk = &lintrmapmsk; freemap = 1; |