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, 8 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 7da3b139c8dd..1657041c19cf 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -2990,6 +2990,14 @@ int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev,
2990 } 2990 }
2991 2991
2992 spin_lock_irqsave(&xhci->lock, flags); 2992 spin_lock_irqsave(&xhci->lock, flags);
2993 if (hdev->speed == USB_SPEED_HIGH &&
2994 xhci_alloc_tt_info(xhci, vdev, hdev, tt, GFP_ATOMIC)) {
2995 xhci_dbg(xhci, "Could not allocate xHCI TT structure.\n");
2996 xhci_free_command(xhci, config_cmd);
2997 spin_unlock_irqrestore(&xhci->lock, flags);
2998 return -ENOMEM;
2999 }
3000
2993 xhci_slot_copy(xhci, config_cmd->in_ctx, vdev->out_ctx); 3001 xhci_slot_copy(xhci, config_cmd->in_ctx, vdev->out_ctx);
2994 ctrl_ctx = xhci_get_input_control_ctx(xhci, config_cmd->in_ctx); 3002 ctrl_ctx = xhci_get_input_control_ctx(xhci, config_cmd->in_ctx);
2995 ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG); 3003 ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG);