diff options
Diffstat (limited to 'drivers/usb/host/xhci.c')
| -rw-r--r-- | drivers/usb/host/xhci.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index aa94c019579..a1afb7c39f7 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -711,7 +711,10 @@ static void xhci_clear_command_ring(struct xhci_hcd *xhci)  	ring = xhci->cmd_ring;  	seg = ring->deq_seg;  	do { -		memset(seg->trbs, 0, SEGMENT_SIZE); +		memset(seg->trbs, 0, +			sizeof(union xhci_trb) * (TRBS_PER_SEGMENT - 1)); +		seg->trbs[TRBS_PER_SEGMENT - 1].link.control &= +			cpu_to_le32(~TRB_CYCLE);  		seg = seg->next;  	} while (seg != ring->deq_seg);  |