diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2009-04-29 22:04:59 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 00:44:50 -0400 |
commit | 06e7a1487b61e1ae909c4a4c264b4428c55beb7e (patch) | |
tree | 33371e5c383b6ae9e1a0f28d218b39b2b4a97a3e /drivers/usb/host/xhci-ring.c | |
parent | 3841d56ebb9730c786a59bf3207529c35214df26 (diff) |
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 <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 2 |
1 files changed, 1 insertions, 1 deletions
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 | |||
188 | next->link.control &= (u32) ~TRB_CYCLE; | 188 | next->link.control &= (u32) ~TRB_CYCLE; |
189 | else | 189 | else |
190 | next->link.control |= (u32) TRB_CYCLE; | 190 | next->link.control |= (u32) TRB_CYCLE; |
191 | next->link.control &= TRB_CHAIN; | 191 | next->link.control &= ~TRB_CHAIN; |
192 | next->link.control |= chain; | 192 | next->link.control |= chain; |
193 | } | 193 | } |
194 | /* Toggle the cycle bit after the last ring segment. */ | 194 | /* Toggle the cycle bit after the last ring segment. */ |