diff options
| -rw-r--r-- | sys/amd64/amd64/mptable.c | 2 | ||||
| -rw-r--r-- | sys/i386/i386/mptable.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c index 7222748571ba9..d4683d5fb941e 100644 --- a/sys/amd64/amd64/mptable.c +++ b/sys/amd64/amd64/mptable.c @@ -893,6 +893,8 @@ mptable_pci_probe_table(int bus) return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index 7222748571ba9..d4683d5fb941e 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -893,6 +893,8 @@ mptable_pci_probe_table(int bus) return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); |
