aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bge/if_bge.c
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2019-07-16 08:36:49 +0000
committerAndriy Gapon <avg@FreeBSD.org>2019-07-16 08:36:49 +0000
commita70e114dc63d643327a31be939105431104ee0cb (patch)
tree5893f7a49d0de1f7d785e625cd0bd82bc40b4eba /sys/dev/bge/if_bge.c
parent5eac9c1cb009615c1d9371e1ea757503a1c010e6 (diff)
downloadsrc-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.c4
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);
}