diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2019-07-16 08:36:49 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2019-07-16 08:36:49 +0000 |
commit | a70e114dc63d643327a31be939105431104ee0cb (patch) | |
tree | 5893f7a49d0de1f7d785e625cd0bd82bc40b4eba /sys/dev/bge/if_bge.c | |
parent | 5eac9c1cb009615c1d9371e1ea757503a1c010e6 (diff) | |
download | src-a70e114dc63d643327a31be939105431104ee0cb.tar.gz src-a70e114dc63d643327a31be939105431104ee0cb.zip |
bge: check that the bus is a pci bus before using it as such
This fixes the following panic on powerpc:
pci_get_vendor failed for pcib1 on bus ofwbus0, error = 2
PR: 238730
Reported by: Dennis Clarke <dclarke@blastwave.org>
Tested by: Dennis Clarke <dclarke@blastwave.org>
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=350025
Diffstat (limited to 'sys/dev/bge/if_bge.c')
-rw-r--r-- | sys/dev/bge/if_bge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 7ab5cfceca14..bae18acf96ae 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3276,6 +3276,8 @@ bge_mbox_reorder(struct bge_softc *sc) bus = device_get_parent(dev); if (device_get_devclass(dev) != pcib) break; + if (device_get_devclass(bus) != pci) + break; for (i = 0; i < nitems(mbox_reorder_lists); i++) { if (pci_get_vendor(dev) == mbox_reorder_lists[i].vendor && @@ -3287,8 +3289,6 @@ bge_mbox_reorder(struct bge_softc *sc) return (1); } } - if (device_get_devclass(bus) != pci) - break; } return (0); } |