Parcourir la source

xhci: Store the "real" root port number.

Since the xHCI driver now has split USB2/USB3 roothubs, devices under each
roothub can have duplicate "fake" port numbers.  For the next set of
patches, we need to keep track of the "real" port number that the xHCI
host uses to index into the port status arrays.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp il y a 14 ans
Parent
commit
6638175544
2 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 1 0
      drivers/usb/host/xhci-mem.c
  2. 1 0
      drivers/usb/host/xhci.h

+ 1 - 0
drivers/usb/host/xhci-mem.c

@@ -922,6 +922,7 @@ int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *ud
 			top_dev = top_dev->parent)
 		/* Found device below root hub */;
 	dev->fake_port = top_dev->portnum;
+	dev->real_port = port_num;
 	xhci_dbg(xhci, "Set root hub portnum to %d\n", port_num);
 	xhci_dbg(xhci, "Set fake root hub portnum to %d\n", dev->fake_port);
 

+ 1 - 0
drivers/usb/host/xhci.h

@@ -799,6 +799,7 @@ struct xhci_virt_device {
 	u32				cmd_status;
 	struct list_head		cmd_list;
 	u8				fake_port;
+	u8				real_port;
 };