From: Sarah Sharp Date: Thu, 30 Apr 2009 02:04:59 +0000 (-0700) Subject: USB: xhci: Fix Link TRB handoff bit twiddling. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=06e7a1487b61e1ae909c4a4c264b4428c55beb7e;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git USB: xhci: Fix Link TRB handoff bit twiddling. Make sure to preserve all bits *except* the TRB_CHAIN bit when giving a Link TRB to the hardware. We need to save things like TRB type and the toggle bit in the control dword. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 9d6874710669..8fb5d52c08c9 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -188,7 +188,7 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, bool consumer next->link.control &= (u32) ~TRB_CYCLE; else next->link.control |= (u32) TRB_CYCLE; - next->link.control &= TRB_CHAIN; + next->link.control &= ~TRB_CHAIN; next->link.control |= chain; } /* Toggle the cycle bit after the last ring segment. */