usb: musb/cppi41: call musb_ep_select() before accessing an endpoint's CSR
authorDaniel Mack <zonque@gmail.com>
Mon, 26 May 2014 12:52:39 +0000 (14:52 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 30 Jun 2014 19:26:25 +0000 (14:26 -0500)
commitf50e67853b363b96336718597823ed7a7e8652de
tree994c988398d3206c48d789b83c20e3c611404b92
parentff3fcac949187d98684aaf3f1c35c7cae7712649
usb: musb/cppi41: call musb_ep_select() before accessing an endpoint's CSR

Before accessing any of an endpoint's CSR registers, make sure the
correct endpoint is selected. Otherwise, data read from or written to
the registers is likely to affect the wrong endpoint as long as the
connected device has more than one endpoint.

This, of course, leads to all sorts of strange effects such as stream
starvation and driver internal state machine confusion due to spurious
interrupts.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_cppi41.c