diff options
author | Andrew Goodbody <andrew.goodbody@cambrionix.com> | 2016-05-31 15:05:27 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-06-01 21:58:59 (GMT) |
commit | 7b2c17f829545df27a910e8d82e133c21c9a8c9c (patch) | |
tree | e26c5d4a6a23325f3a8a080217d2060bd7c38509 /drivers/usb/usb-skeleton.c | |
parent | f3eec0cf784e0d6c47822ca6b66df3d5812af7e6 (diff) | |
download | linux-7b2c17f829545df27a910e8d82e133c21c9a8c9c.tar.xz |
usb: musb: Stop bulk endpoint while queue is rotated
Ensure that the endpoint is stopped by clearing REQPKT before
clearing DATAERR_NAKTIMEOUT before rotating the queue on the
dedicated bulk endpoint.
This addresses an issue where a race could result in the endpoint
receiving data before it was reprogrammed resulting in a warning
about such data from musb_rx_reinit before it was thrown away.
The data thrown away was a valid packet that had been correctly
ACKed which meant the host and device got out of sync.
Signed-off-by: Andrew Goodbody <andrew.goodbody@cambrionix.com>
Cc: stable@vger.kernel.org
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/usb-skeleton.c')
0 files changed, 0 insertions, 0 deletions