summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2011-09-02 18:05:45 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-09 22:52:53 (GMT)
commit66381755442189bbeb15f1a51b1e0059327d84ed (patch)
tree0c14d91d8cc991c2185d00779fea13b222577b4f
parent750645f8a6543ff4deb4d98a0052000a31fdd43f (diff)
downloadlinux-fsl-qoriq-66381755442189bbeb15f1a51b1e0059327d84ed.tar.xz
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>
-rw-r--r--drivers/usb/host/xhci-mem.c1
-rw-r--r--drivers/usb/host/xhci.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 9afce47..1755c66 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/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);
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index bfb3fab..ec481700 100644
--- a/drivers/usb/host/xhci.h
+++ b/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;
};