git: 86b259a28a1a - main - bus: Revert "bus: Take the topolock in driver_module_handler()"

From: Warner Losh <imp_at_FreeBSD.org>
Date: Tue, 28 Oct 2025 22:38:52 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=86b259a28a1a47b0506c519b17d8adb67d4a0b0d

commit 86b259a28a1a47b0506c519b17d8adb67d4a0b0d
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2025-10-28 22:37:14 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-10-28 22:37:14 +0000

    bus: Revert "bus: Take the topolock in driver_module_handler()"
    
    This reverts commit 83519c1764f80ddbdf34e16de08ff110226aba2b.
    
    This was accidentally in my main branch when I poushed. It's not ready
    yet.
    
    Sponsored by:           Netflix
---
 sys/kern/subr_bus.c | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index d57886bca5e4..bf5bda7e058d 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -572,8 +572,6 @@ devclass_find_internal(const char *classname, const char *parentname,
 {
 	devclass_t dc;
 
-	bus_topo_assert();
-
 	PDEBUG(("looking for %s", classname));
 	if (!classname)
 		return (NULL);
@@ -714,8 +712,6 @@ devclass_add_driver(devclass_t dc, driver_t *driver, int pass, devclass_t *dcp)
 	devclass_t child_dc;
 	const char *parentname;
 
-	bus_topo_assert();
-
 	PDEBUG(("%s", DRIVERNAME(driver)));
 
 	/* Don't allow invalid pass values. */
@@ -788,8 +784,6 @@ devclass_driver_deleted(devclass_t busclass, devclass_t dc, driver_t *driver)
 	device_t dev;
 	int error, i;
 
-	bus_topo_assert();
-
 	/*
 	 * Disassociate from any devices.  We iterate through all the
 	 * devices in the devclass of the driver and detach any which are
@@ -862,8 +856,6 @@ devclass_delete_driver(devclass_t busclass, driver_t *driver)
 	driverlink_t dl;
 	int error;
 
-	bus_topo_assert();
-
 	PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass)));
 
 	if (!dc)
@@ -921,8 +913,6 @@ devclass_quiesce_driver(devclass_t busclass, driver_t *driver)
 	int i;
 	int error;
 
-	bus_topo_assert();
-
 	PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass)));
 
 	if (!dc)
@@ -974,8 +964,6 @@ devclass_find_driver_internal(devclass_t dc, const char *classname)
 {
 	driverlink_t dl;
 
-	bus_topo_assert();
-
 	PDEBUG(("%s in devclass %s", classname, DEVCLANAME(dc)));
 
 	TAILQ_FOREACH(dl, &dc->drivers, link) {
@@ -5267,8 +5255,6 @@ driver_module_handler(module_t mod, int what, void *arg)
 	kobj_class_t driver;
 	int error, pass;
 
-	bus_topo_lock();
-
 	dmd = (struct driver_module_data *)arg;
 	bus_devclass = devclass_find_internal(dmd->dmd_busname, NULL, TRUE);
 	error = 0;
@@ -5311,8 +5297,6 @@ driver_module_handler(module_t mod, int what, void *arg)
 		break;
 	}
 
-	bus_topo_unlock();
-
 	return (error);
 }