diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 7b4ee33c1935..96538b7975e5 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -266,9 +266,6 @@ static int port_check(struct device *dev, void *dev_drv) int __parport_register_driver(struct parport_driver *drv, struct module *owner, const char *mod_name) { - if (list_empty(&portlist)) - get_lowlevel_driver(); - if (drv->devmodel) { /* using device model */ int ret; @@ -292,6 +289,8 @@ int __parport_register_driver(struct parport_driver *drv, struct module *owner, drv->devmodel = false; + if (list_empty(&portlist)) + get_lowlevel_driver(); mutex_lock(®istration_lock); list_for_each_entry(port, &portlist, list) drv->attach(port);