diff options
Diffstat (limited to 'drivers/parport/share.c')
-rw-r--r-- | drivers/parport/share.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 03c0f5c07..d9a7d28a8 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -810,6 +810,10 @@ void parport_unregister_device(struct pardevice *dev) struct parport *parport_find_number (int number) { struct parport *port, *result = NULL; + + if (!portlist) + get_lowlevel_driver (); + spin_lock (&parportlist_lock); for (port = portlist; port; port = port->next) if (port->number == number) { @@ -835,6 +839,10 @@ struct parport *parport_find_number (int number) struct parport *parport_find_base (unsigned long base) { struct parport *port, *result = NULL; + + if (!portlist) + get_lowlevel_driver (); + spin_lock (&parportlist_lock); for (port = portlist; port; port = port->next) if (port->base == base) { |