[RFC PATCH 14/15] usbcore: add usbcore.noacpi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux