USB: fsl_qe_udc: Fix muram corruption by disabled endpoints
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Thu, 25 Dec 2008 14:15:11 +0000 (17:15 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 Feb 2009 19:19:47 +0000 (11:19 -0800)
commit82341b3690fce8f70998e3cfb79fbffff0eb7e6b
tree37df00d0bbb33cd2267b56222108ca22f375b8b6
parentef84e4055f3561495c4c0e0dfb0b9f4a6e20479d
USB: fsl_qe_udc: Fix muram corruption by disabled endpoints

Before freeing an endpoint's muram memory, we should stop all activity
of the endpoint, otherwise the QE UDC controller might do nasty things
with the muram memory that isn't belong to that endpoint anymore.

The qe_ep_reset() effectively flushes the hardware fifos, finishes all
late transaction and thus prevents the corruption.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/fsl_qe_udc.c