From: Bin Meng Date: Thu, 24 May 2018 06:40:50 +0000 (-0700) Subject: usb: xhci: Handle endianness in xhci_set_configuration() X-Git-Tag: v2018.07-rc1~15^2~20 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e40406603fe22a5b18d7e8ac7a2eb0f2d2b13cf1;p=u-boot usb: xhci: Handle endianness in xhci_set_configuration() In xhci_set_configuration(), 'Context Entries' field in the slot context was cleared with mask LAST_CTX_MASK, but it should have taken the endianness into consideration. Signed-off-by: Bin Meng --- diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index f9c6bbb9e9..9ded14cc3c 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -536,7 +536,7 @@ static int xhci_set_configuration(struct usb_device *udev) /* slot context */ xhci_slot_copy(ctrl, in_ctx, out_ctx); slot_ctx = xhci_get_slot_ctx(ctrl, in_ctx); - slot_ctx->dev_info &= ~(LAST_CTX_MASK); + slot_ctx->dev_info &= ~(cpu_to_le32(LAST_CTX_MASK)); slot_ctx->dev_info |= cpu_to_le32(LAST_CTX(max_ep_flag + 1) | 0); xhci_endpoint_copy(ctrl, in_ctx, out_ctx, 0);