In sys/arch/i386/i386/i386_mainbus.c::i386_mainbus_rescan() mp_pci_scan() is
only executed if:
...
if (npcibus == 0 && mpacpi_active)
npcibus = mp_pci_scan(self, &mba.mba_pba, pcibusprint);
if (npcibus == 0 && mpbios_scanned != 0)
npcibus = mp_pci_scan(self, &mba.mba_pba, pcibusprint);
...
hence follow the same condition during the unwind.
Signed-off-by: Paolo Pisati <[email protected]>
---
sys/arch/i386/i386/i386_mainbus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/arch/i386/i386/i386_mainbus.c
b/sys/arch/i386/i386/i386_mainbus.c
index f6d2f24a593a..2834002e5989 100644
--- a/sys/arch/i386/i386/i386_mainbus.c
+++ b/sys/arch/i386/i386/i386_mainbus.c
@@ -178,7 +178,7 @@ i386_mainbus_childdetached(device_t self, device_t child)
if (sc->sc_pci == child)
sc->sc_pci = NULL;
-#if NPCI > 0
+#if NPCI > 0 && (defined(ACPI_SCANPCI) || defined(MPBIOS_SCANPCI))
mp_pci_childdetached(self, child);
#endif
}
--
2.34.1