diff options
Diffstat (limited to 'drivers/usb/host/xhci-mem.c')
-rw-r--r-- | drivers/usb/host/xhci-mem.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 4e51343ddffc..202770676da3 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c | |||
@@ -778,6 +778,7 @@ int xhci_alloc_virt_device(struct xhci_hcd *xhci, int slot_id, | |||
778 | 778 | ||
779 | init_completion(&dev->cmd_completion); | 779 | init_completion(&dev->cmd_completion); |
780 | INIT_LIST_HEAD(&dev->cmd_list); | 780 | INIT_LIST_HEAD(&dev->cmd_list); |
781 | dev->udev = udev; | ||
781 | 782 | ||
782 | /* Point to output device context in dcbaa. */ | 783 | /* Point to output device context in dcbaa. */ |
783 | xhci->dcbaa->dev_context_ptrs[slot_id] = dev->out_ctx->dma; | 784 | xhci->dcbaa->dev_context_ptrs[slot_id] = dev->out_ctx->dma; |
@@ -866,6 +867,7 @@ int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *ud | |||
866 | top_dev = top_dev->parent) | 867 | top_dev = top_dev->parent) |
867 | /* Found device below root hub */; | 868 | /* Found device below root hub */; |
868 | slot_ctx->dev_info2 |= (u32) ROOT_HUB_PORT(top_dev->portnum); | 869 | slot_ctx->dev_info2 |= (u32) ROOT_HUB_PORT(top_dev->portnum); |
870 | dev->port = top_dev->portnum; | ||
869 | xhci_dbg(xhci, "Set root hub portnum to %d\n", top_dev->portnum); | 871 | xhci_dbg(xhci, "Set root hub portnum to %d\n", top_dev->portnum); |
870 | 872 | ||
871 | /* Is this a LS/FS device under a HS hub? */ | 873 | /* Is this a LS/FS device under a HS hub? */ |
@@ -1443,6 +1445,7 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) | |||
1443 | scratchpad_free(xhci); | 1445 | scratchpad_free(xhci); |
1444 | xhci->page_size = 0; | 1446 | xhci->page_size = 0; |
1445 | xhci->page_shift = 0; | 1447 | xhci->page_shift = 0; |
1448 | xhci->bus_suspended = 0; | ||
1446 | } | 1449 | } |
1447 | 1450 | ||
1448 | static int xhci_test_trb_in_td(struct xhci_hcd *xhci, | 1451 | static int xhci_test_trb_in_td(struct xhci_hcd *xhci, |
@@ -1801,6 +1804,8 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
1801 | init_completion(&xhci->addr_dev); | 1804 | init_completion(&xhci->addr_dev); |
1802 | for (i = 0; i < MAX_HC_SLOTS; ++i) | 1805 | for (i = 0; i < MAX_HC_SLOTS; ++i) |
1803 | xhci->devs[i] = NULL; | 1806 | xhci->devs[i] = NULL; |
1807 | for (i = 0; i < MAX_HC_PORTS; ++i) | ||
1808 | xhci->resume_done[i] = 0; | ||
1804 | 1809 | ||
1805 | if (scratchpad_alloc(xhci, flags)) | 1810 | if (scratchpad_alloc(xhci, flags)) |
1806 | goto fail; | 1811 | goto fail; |