diff options
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index f04162ae4374..b4ccf0d72c17 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c | |||
@@ -281,6 +281,10 @@ static void handle_cmd_completion(struct xhci_hcd *xhci, | |||
281 | if (xhci->devs[slot_id]) | 281 | if (xhci->devs[slot_id]) |
282 | xhci_free_virt_device(xhci, slot_id); | 282 | xhci_free_virt_device(xhci, slot_id); |
283 | break; | 283 | break; |
284 | case TRB_TYPE(TRB_CONFIG_EP): | ||
285 | xhci->devs[slot_id]->cmd_status = GET_COMP_CODE(event->status); | ||
286 | complete(&xhci->devs[slot_id]->cmd_completion); | ||
287 | break; | ||
284 | case TRB_TYPE(TRB_ADDR_DEV): | 288 | case TRB_TYPE(TRB_ADDR_DEV): |
285 | xhci->devs[slot_id]->cmd_status = GET_COMP_CODE(event->status); | 289 | xhci->devs[slot_id]->cmd_status = GET_COMP_CODE(event->status); |
286 | complete(&xhci->addr_dev); | 290 | complete(&xhci->addr_dev); |
@@ -809,3 +813,10 @@ int queue_address_device(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, u32 slot_ | |||
809 | return queue_command(xhci, in_ctx_ptr, 0, 0, | 813 | return queue_command(xhci, in_ctx_ptr, 0, 0, |
810 | TRB_TYPE(TRB_ADDR_DEV) | SLOT_ID_FOR_TRB(slot_id)); | 814 | TRB_TYPE(TRB_ADDR_DEV) | SLOT_ID_FOR_TRB(slot_id)); |
811 | } | 815 | } |
816 | |||
817 | /* Queue a configure endpoint command TRB */ | ||
818 | int queue_configure_endpoint(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, u32 slot_id) | ||
819 | { | ||
820 | return queue_command(xhci, in_ctx_ptr, 0, 0, | ||
821 | TRB_TYPE(TRB_CONFIG_EP) | SLOT_ID_FOR_TRB(slot_id)); | ||
822 | } | ||