This patch is to bind xhci root hub usb port with its acpi node.
The port num in the acpi table matches with the sequence in the xhci
extended capabilities table. So call usb_hcd_find_raw_port_number() to
transfer hub port num into raw port number which associates with
the sequence in the xhci extended capabilities table before binding.

Signed-off-by: Lan Tianyu <tianyu....@intel.com>
---
 drivers/usb/core/usb-acpi.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c
index cef4252..40f5a6a 100644
--- a/drivers/usb/core/usb-acpi.c
+++ b/drivers/usb/core/usb-acpi.c
@@ -15,6 +15,7 @@
 #include <linux/kernel.h>
 #include <linux/acpi.h>
 #include <linux/pci.h>
+#include <linux/usb/hcd.h>
 #include <acpi/acpi_bus.h>
 
 #include "usb.h"
@@ -188,6 +189,9 @@ static int usb_acpi_find_device(struct device *dev, 
acpi_handle *handle)
                 * connected to.
                 */
                if (!udev->parent) {
+                       struct usb_hcd *hcd = bus_to_hcd(udev->bus);
+
+                       port_num = usb_hcd_find_raw_port_number(hcd, port_num);
                        *handle = acpi_get_child(DEVICE_ACPI_HANDLE(&udev->dev),
                                port_num);
                        if (!*handle)
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to