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 <p.pis...@gmail.com>
---
 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

Reply via email to