linux/drivers/usb/musb
Andrew Goodbody 7b2c17f829 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>
2016-06-01 14:58:59 -07:00
..
am35x.c usb: musb: am35x: fix build warnings 2015-05-27 12:29:57 -05:00
blackfin.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
blackfin.h
cppi_dma.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
cppi_dma.h
da8xx.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
davinci.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
davinci.h
jz4740.c usb: musb: jz4740: fix error check of usb_get_phy() 2016-04-26 14:50:02 -07:00
Kconfig usb: add HAS_IOMEM dependency to USB_MUSB_HDRC 2016-02-14 17:09:56 -08:00
Makefile usb: musb: sunxi: Add support for the Allwinner sunxi musb controller 2015-07-29 09:59:20 -05:00
musb_am335x.c usb: musb: Fix panic upon musb_am335x module removal 2014-06-27 10:53:06 -05:00
musb_core.c usb: musb: only restore devctl when session was set in backup 2016-06-01 14:58:59 -07:00
musb_core.h usb: musb: Return error value from musb_mailbox 2016-06-01 14:58:59 -07:00
musb_cppi41.c usb: musb: fix cppi channel teardown for isoch transfer 2015-09-21 14:42:36 -05:00
musb_debug.h
musb_debugfs.c usb: musb: add softconnect for host mode 2015-05-07 13:49:23 -05:00
musb_dma.h usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
musb_dsps.c usb: common: of_usb_get_dr_mode to usb_get_dr_mode 2015-09-27 10:54:31 -05:00
musb_gadget_ep0.c usb: musb: gadget: use common is_selfpowered 2015-01-29 10:35:43 -06:00
musb_gadget.c usb: musb: Use delayed for musb_gadget_pullup 2016-06-01 14:58:59 -07:00
musb_gadget.h usb: musb: add Kconfig options for HOST, GAGDET or DUAL_ROLE modes 2013-05-28 19:22:23 +03:00
musb_host.c usb: musb: Stop bulk endpoint while queue is rotated 2016-06-01 14:58:59 -07:00
musb_host.h usb: musb: fix prototype for musb_port_reset 2013-12-20 15:05:43 -06:00
musb_io.h usb: musb: Make busctl_offset an io-op rather then a define 2015-05-26 10:46:54 -05:00
musb_regs.h usb: musb: Make busctl_offset an io-op rather then a define 2015-05-26 10:46:54 -05:00
musb_virthub.c usb: musb: host: rely on port_mode to call musb_start() 2015-07-06 12:34:07 -05:00
musbhsdma.c usb: musb: use %pad format string from dma_addr_t 2016-03-04 15:14:30 +02:00
musbhsdma.h
omap2430.c usb: musb: Use normal module_init for 2430 glue 2016-06-01 14:58:59 -07:00
omap2430.h
sunxi.c usb: musb: sunxi: Set state to A_WAIT_VRISE when enabling Vbus 2016-06-01 14:58:59 -07:00
tusb6010_omap.c usb: musb: use %pad format string from dma_addr_t 2016-03-04 15:14:30 +02:00
tusb6010.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
tusb6010.h usb: musb: Fix up DMA related macros 2015-05-07 13:35:46 -05:00
ux500_dma.c usb: musb/ux500: remove duplicate check for dma_is_compatible 2016-03-04 15:14:30 +02:00
ux500.c usb: musb: ux500: Fix NULL pointer dereference at system PM 2016-02-03 20:03:40 +02:00