linux/drivers/usb/musb
Anand Gadiyar fb85d99161 MUSB: Fix index register corruption seen with g_ether and Windows host
If Indexed Mode register accesses are enabled, the ep0_rxstate()
function calls musb_g_ep0_giveback() before writing to the CSR
register. When control returns to this ep0_rxstate, the index
register contents are over-written. This causes the CSR register
write to fail.

Fixed by writing the correct value into the index register before
writing to the CSR.

This was observed only in ep0_rxstate() with g_ether loaded and
the device connected to a MS Windows host PC. Anticipatively fixed
ep0_txstate() as well.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-08-21 10:26:34 -07:00
..
cppi_dma.c
cppi_dma.h
davinci.c
davinci.h
Kconfig usb: musb: get rid of MUSB_LOGLEVEL and use parameter 2008-08-21 10:26:34 -07:00
Makefile usb: musb: get rid of MUSB_LOGLEVEL and use parameter 2008-08-21 10:26:34 -07:00
musb_core.c usb: musb: get rid of MUSB_LOGLEVEL and use parameter 2008-08-21 10:26:34 -07:00
musb_core.h usb: musb: get rid of procfs entry 2008-08-21 10:26:33 -07:00
musb_debug.h usb: musb: get rid of MUSB_LOGLEVEL and use parameter 2008-08-21 10:26:34 -07:00
musb_dma.h
musb_gadget_ep0.c MUSB: Fix index register corruption seen with g_ether and Windows host 2008-08-21 10:26:34 -07:00
musb_gadget.c
musb_gadget.h
musb_host.c
musb_host.h
musb_io.h
musb_regs.h
musb_virthub.c
musbhsdma.c
omap2430.c
omap2430.h
tusb6010_omap.c
tusb6010.c
tusb6010.h usb: musb: pass configuration specifics via pdata 2008-08-13 17:33:01 -07:00