diff options
| author | David Brownell <dbrownell@users.sourceforge.net> | 2008-11-24 14:06:49 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-01-07 20:59:59 +0300 |
| commit | 71783e0defa16ca5abca7750df98ff8e7767bd2e (patch) | |
| tree | 3e4180012869e613bea9a6175bd8423287218604 | |
| parent | 58e660266d92aaa186c3df607c0ee88f18c8f4da (diff) | |
| download | linux-71783e0defa16ca5abca7750df98ff8e7767bd2e.tar.xz | |
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>
| -rw-r--r-- | drivers/usb/musb/omap2430.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 52988a403b5c..901dffdf23b1 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c @@ -58,10 +58,10 @@ static void musb_do_idle(unsigned long _musb) #endif u8 devctl; - devctl = musb_readb(musb->mregs, MUSB_DEVCTL); - spin_lock_irqsave(&musb->lock, flags); + devctl = musb_readb(musb->mregs, MUSB_DEVCTL); + switch (musb->xceiv.state) { case OTG_STATE_A_WAIT_BCON: devctl &= ~MUSB_DEVCTL_SESSION; |
