summaryrefslogtreecommitdiffstats
path: root/sys/i386/bios
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/bios')
-rw-r--r--sys/i386/bios/smapi.c2
-rw-r--r--sys/i386/bios/smbios.c2
-rw-r--r--sys/i386/bios/vpd.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/i386/bios/smapi.c b/sys/i386/bios/smapi.c
index e572664..74cf612 100644
--- a/sys/i386/bios/smapi.c
+++ b/sys/i386/bios/smapi.c
@@ -288,10 +288,12 @@ smapi_modevent (module_t mod, int what, void *arg)
case MOD_LOAD:
break;
case MOD_UNLOAD:
+ newbus_xlock();
devclass_get_devices(smapi_devclass, &devs, &count);
for (i = 0; i < count; i++) {
device_delete_child(device_get_parent(devs[i]), devs[i]);
}
+ newbus_xunlock();
break;
default:
break;
diff --git a/sys/i386/bios/smbios.c b/sys/i386/bios/smbios.c
index f38d985..37a3b2c 100644
--- a/sys/i386/bios/smbios.c
+++ b/sys/i386/bios/smbios.c
@@ -230,10 +230,12 @@ smbios_modevent (mod, what, arg)
case MOD_LOAD:
break;
case MOD_UNLOAD:
+ newbus_xlock();
devclass_get_devices(smbios_devclass, &devs, &count);
for (i = 0; i < count; i++) {
device_delete_child(device_get_parent(devs[i]), devs[i]);
}
+ newbus_xunlock();
break;
default:
break;
diff --git a/sys/i386/bios/vpd.c b/sys/i386/bios/vpd.c
index 246b76d..f816121 100644
--- a/sys/i386/bios/vpd.c
+++ b/sys/i386/bios/vpd.c
@@ -248,10 +248,12 @@ vpd_modevent (mod, what, arg)
case MOD_LOAD:
break;
case MOD_UNLOAD:
+ newbus_xlock();
devclass_get_devices(vpd_devclass, &devs, &count);
for (i = 0; i < count; i++) {
device_delete_child(device_get_parent(devs[i]), devs[i]);
}
+ newbus_xunlock();
break;
default:
break;
OpenPOWER on IntegriCloud