aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r--drivers/usb/host/xhci.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 7928af5c91cb..caccecb7368e 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -2287,15 +2287,15 @@ int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev)
2287 * address given back to us by the HC. 2287 * address given back to us by the HC.
2288 */ 2288 */
2289 slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->out_ctx); 2289 slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->out_ctx);
2290 udev->devnum = (slot_ctx->dev_state & DEV_ADDR_MASK) + 1; 2290 /* Use kernel assigned address for devices; store xHC assigned
2291 * address locally. */
2292 virt_dev->address = (slot_ctx->dev_state & DEV_ADDR_MASK) + 1;
2291 /* Zero the input context control for later use */ 2293 /* Zero the input context control for later use */
2292 ctrl_ctx = xhci_get_input_control_ctx(xhci, virt_dev->in_ctx); 2294 ctrl_ctx = xhci_get_input_control_ctx(xhci, virt_dev->in_ctx);
2293 ctrl_ctx->add_flags = 0; 2295 ctrl_ctx->add_flags = 0;
2294 ctrl_ctx->drop_flags = 0; 2296 ctrl_ctx->drop_flags = 0;
2295 2297
2296 xhci_dbg(xhci, "Device address = %d\n", udev->devnum); 2298 xhci_dbg(xhci, "Internal device address = %d\n", virt_dev->address);
2297 /* XXX Meh, not sure if anyone else but choose_address uses this. */
2298 set_bit(udev->devnum, udev->bus->devmap.devicemap);
2299 2299
2300 return 0; 2300 return 0;
2301} 2301}