MUSB_INTR_SOF is always masked, but still shows up in status register
and causes musb_stage0_irq() to be called needlessly, then work to be
scheduled at the end of musb_stage0_irq(), and that doubles context
switch count.
spin_lock_irqsave(&musb->lock, flags);
musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB);
spin_lock_irqsave(&musb->lock, flags);
musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB);
+ /* SOF is not enabled, but status is still often set */
+ musb->int_usb &= ~MUSB_INTR_SOF;
musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX);
musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX);
musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX);
musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX);