linux/drivers/usb/musb
Yauheni Kaliuta 4858f06e7d usb: musb: gadget: clear TXPKTRDY flag when set FLUSHFIFO
Fixes mis-use of MUSB's hardware feature where it won't
flush FIFOs when TXPKTRDY flag was set before and we are
flushing setting both FLUSHFIFO and TXPKTRDY.

In other words, we need to ensure that when we try to
flush FIFOs, we don't accidentaly set TXPKTRDY bit too
due to a read-back of the register.

The MUSB Programming Guide says "May be set simultaneously
with TxPktRdy to abort the packet that is currently being
loaded into the FIFO". This is a situation where TXPKTRDY
hasn't been set yet, but some data already loaded into the
fifo. It looks, that if TXPKTRDY has been set before, and
there is no loading in progress, but we set FLUSHFIFO with
the TXPKTRDY, controller tries to use the same logic to
abort loading and as the result just does nothing (because
there is no packet been loaded currently)

Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@nokia.com>

[ balbi@ti.com : fixed one whitespace git complained about
		 improved the commit log slightly ]

Signed-off-by: Felipe Balbi <balbi@ti.com>
2011-06-09 12:01:03 +03:00
..
am35x.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
blackfin.c usb: musb: fix compile error 2011-05-18 14:43:12 +03:00
blackfin.h
cppi_dma.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
cppi_dma.h
da8xx.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
davinci.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
davinci.h
Kconfig usb: musb: ux500: add configuration and build options for ux500 dma 2011-05-18 14:43:16 +03:00
Makefile usb: musb: ux500: add configuration and build options for ux500 dma 2011-05-18 14:43:16 +03:00
musb_core.c musb: fix prefetch build failure 2011-06-06 16:02:31 -07:00
musb_core.h USB: musb: blackfin: work around anomaly 05000450 2011-04-13 11:51:28 +03:00
musb_debug.h usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musb_debugfs.c headers: kobject.h redux 2011-01-10 08:51:44 -08:00
musb_dma.h usb: musb: introduce api for dma code to check compatibility with usb request 2011-02-01 10:41:30 +02:00
musb_gadget_ep0.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musb_gadget.c usb: musb: gadget: clear TXPKTRDY flag when set FLUSHFIFO 2011-06-09 12:01:03 +03:00
musb_gadget.h usb: musb: gadget: do not poke with gadget's list_head 2011-02-17 21:11:46 +02:00
musb_host.c usb: musb: host: compare status for negative error values 2011-06-09 12:01:03 +03:00
musb_host.h
musb_io.h usb: musb: add Kconfig options for each glue layer 2010-12-10 10:21:09 +02:00
musb_regs.h Merge branch 'usb-next' into musb-merge 2010-12-16 10:05:06 -08:00
musb_virthub.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musbhsdma.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musbhsdma.h Merge branches 'devel-cleanup', 'devel-board', 'devel-early-init' and 'devel-ti816x' into omap-for-linus 2011-02-16 11:32:38 -08:00
omap2430.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
omap2430.h
tusb6010_omap.c usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
tusb6010.c usb: musb: fix compile error 2011-05-18 14:43:12 +03:00
tusb6010.h
ux500_dma.c usb: musb: ux500: add dma glue layer for ux500 2011-05-18 14:43:15 +03:00
ux500.c usb: musb: ux500: copy dma mask from platform device to musb device 2011-04-13 11:50:57 +03:00