Port power management places a lot of trust in the firmware api tables. Set this flag if it turns out that trust was misplaced. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> --- Documentation/kernel-parameters.txt | 4 ++++ drivers/usb/core/usb-acpi.c | 7 +++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index fcbb736d55fe..bd6fb49c2a66 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -3240,6 +3240,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. USB_REQ_GET_DESCRIPTOR request in milliseconds (default 5000 = 5.0 seconds). + usbcore.noacpi= [USB] Disable port power management, connection + type reporting, and any other USB functionality + enabled by ACPI. + usbhid.mousepoll= [USBHID] The interval which mice are to be polled at. diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c index fab4a8288803..0886fab67e99 100644 --- a/drivers/usb/core/usb-acpi.c +++ b/drivers/usb/core/usb-acpi.c @@ -21,6 +21,9 @@ #include "hub.h" #include "usb-platform.h" +static bool noacpi; +module_param(noacpi, bool, 0444); + /** * usb_acpi_power_manageable - check whether usb port has * acpi power resource. @@ -284,6 +287,10 @@ static struct acpi_bus_type usb_acpi_bus = { int usb_acpi_register(void) { + if (noacpi) { + pr_info("%s: USB ACPI support disabled\n", usbcore_name); + return 0; + } return register_acpi_bus_type(&usb_acpi_bus); } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html