> > +static void musb_do_idle(unsigned long _musb) > > +{ > > + struct musb *musb = (void *)_musb; > > + unsigned long flags; > > + u8 power; > > + u8 devctl; > > + > > + devctl = musb_readb(musb->mregs, MUSB_DEVCTL); > > + > > + spin_lock_irqsave(&musb->lock, flags); > > This lock is never unlocked. > > Might I recommend you turn on CONFIG_PREEMPT, and spinlock debugging > when testing. The various lock debugging features in the 'Kernel > Hacking' menu are extremely useful for this kind of thing. Thanks for the pointer. I'll start using this from now on. Anand - To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html