diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2009-04-30 02:04:59 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 04:44:50 (GMT) |
commit | 06e7a1487b61e1ae909c4a4c264b4428c55beb7e (patch) | |
tree | 33371e5c383b6ae9e1a0f28d218b39b2b4a97a3e /drivers/usb | |
parent | 3841d56ebb9730c786a59bf3207529c35214df26 (diff) | |
download | linux-06e7a1487b61e1ae909c4a4c264b4428c55beb7e.tar.xz |
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')
-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 9d68747..8fb5d52 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. */ |