USB: musb: minor locking fix
Minor locking fix for musb_hdrc on OMAP3 and OMAP2430: don't read DEVCTL without holding the spinlock, since an IRQ could come in and corrupt things. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
58e660266d
commit
71783e0def
@@ -58,10 +58,10 @@ static void musb_do_idle(unsigned long _musb)
|
|||||||
#endif
|
#endif
|
||||||
u8 devctl;
|
u8 devctl;
|
||||||
|
|
||||||
devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
|
|
||||||
|
|
||||||
spin_lock_irqsave(&musb->lock, flags);
|
spin_lock_irqsave(&musb->lock, flags);
|
||||||
|
|
||||||
|
devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
|
||||||
|
|
||||||
switch (musb->xceiv.state) {
|
switch (musb->xceiv.state) {
|
||||||
case OTG_STATE_A_WAIT_BCON:
|
case OTG_STATE_A_WAIT_BCON:
|
||||||
devctl &= ~MUSB_DEVCTL_SESSION;
|
devctl &= ~MUSB_DEVCTL_SESSION;
|
||||||
|
Reference in New Issue
Block a user