linux/drivers/usb/musb
Cristian Birsan 4c2ba0c673 usb: musb: fix DMA for host mode
Commit ac33cdb166 ("usb: musb: Remove ifdefs for musb_host_rx in
musb_host.c part5") introduces a problem setting DMA host mode.

The musb_advance_schedule() is called immediately after receiving an
endpoint RX interrupt without waiting for the DMA transfer to complete.

As a consequence when the dma complete interrupt arrives the in_qh
member of hw_ep is already null an the musb_host_rx() exits on !urb
error case. Fix the done condition that advances the musb schedule.

Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Tested-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
2016-02-23 08:51:38 +02:00
..
Kconfig usb: musb: USB_TI_CPPI41_DMA requires dmaengine support 2015-11-18 15:09:26 -06:00
Makefile usb: musb: sunxi: Add support for the Allwinner sunxi musb controller 2015-07-29 09:59:20 -05: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: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
musb_am335x.c
musb_core.c usb: musb: core: call init and shutdown for the usb phy 2015-12-22 12:05:44 -06:00
musb_core.h usb: musb: core: Fix handling of the phy notifications 2015-12-16 10:07:28 -06: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.c usb: musb: gadget: remove redundant condition 2015-12-16 10:07:28 -06:00
musb_gadget.h
musb_gadget_ep0.c
musb_host.c usb: musb: fix DMA for host mode 2016-02-23 08:51:38 +02:00
musb_host.h
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: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
musbhsdma.h
omap2430.c usb: musb: Fix unbalanced pm_runtime_enable 2015-12-16 10:07:28 -06:00
omap2430.h
sunxi.c musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY 2015-10-09 16:35:00 -05: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
tusb6010_omap.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00
ux500.c usb: musb: ux500: Fix NULL pointer dereference at system PM 2016-02-03 20:03:40 +02:00
ux500_dma.c usb: musb: Set up function pointers for DMA 2015-05-07 13:35:51 -05:00