usb: fix breakage on systems without ACPI
authorSasha Levin <levinsasha928@gmail.com>
Wed, 16 May 2012 12:11:15 +0000 (14:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 May 2012 12:29:19 +0000 (05:29 -0700)
Commit da0af6e ("usb: Bind devices to ACPI devices when possible") really
tries to force-bind devices even when impossible, unlike what it says in
the subject.

CONFIG_ACPI is not an indication that ACPI tables are actually present, nor
is an indication that any USB relevant information is present in them. There
is no reason to fail the creation of a USB bus if it can't bind it to
ACPI device during initialization.

On systems with CONFIG_ACPI set but without ACPI tables it would cause a
boot panic.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/usb.c

index 7998a67503c1f627ea6f79392bb63617fe3bbe55..25d0c61c3f8a3045e19fddc35016b35e9c44bd6d 100644 (file)
@@ -1015,9 +1015,7 @@ static int __init usb_init(void)
        if (retval)
                goto out;
 
-       retval = usb_acpi_register();
-       if (retval)
-               goto acpi_register_failed;
+       usb_acpi_register();
        retval = bus_register(&usb_bus_type);
        if (retval)
                goto bus_register_failed;
@@ -1053,7 +1051,6 @@ bus_notifier_failed:
        bus_unregister(&usb_bus_type);
 bus_register_failed:
        usb_acpi_unregister();
-acpi_register_failed:
        usb_debugfs_cleanup();
 out:
        return retval;