|
@@ -148,7 +148,11 @@ int driver_register(struct device_driver *drv)
|
|
int ret;
|
|
int ret;
|
|
struct device_driver *other;
|
|
struct device_driver *other;
|
|
|
|
|
|
- BUG_ON(!drv->bus->p);
|
|
|
|
|
|
+ if (!drv->bus->p) {
|
|
|
|
+ pr_err("Driver '%s' was unable to register with bus_type '%s' because the bus was not initialized.\n",
|
|
|
|
+ drv->name, drv->bus->name);
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ }
|
|
|
|
|
|
if ((drv->bus->probe && drv->probe) ||
|
|
if ((drv->bus->probe && drv->probe) ||
|
|
(drv->bus->remove && drv->remove) ||
|
|
(drv->bus->remove && drv->remove) ||
|