forked from Minki/linux
usb: musb: core: remove unnecessary reg access from resume IRQ
when musb is operating as host and a remote wakeup fires up, a resume interrupt will be raised. At that point SUSPENDM bit is automatically cleared and RESUME bit is automatically set. Remove those two from IRQ handler. Tested-by: Bin Liu <b-liu@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
0acff6b831
commit
46571889ec
@ -538,27 +538,12 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
|
||||
usb_otg_state_string(musb->xceiv->otg->state));
|
||||
|
||||
if (devctl & MUSB_DEVCTL_HM) {
|
||||
void __iomem *mbase = musb->mregs;
|
||||
u8 power;
|
||||
|
||||
switch (musb->xceiv->otg->state) {
|
||||
case OTG_STATE_A_SUSPEND:
|
||||
/* remote wakeup? later, GetPortStatus
|
||||
* will stop RESUME signaling
|
||||
*/
|
||||
|
||||
power = musb_readb(musb->mregs, MUSB_POWER);
|
||||
if (power & MUSB_POWER_SUSPENDM) {
|
||||
/* spurious */
|
||||
musb->int_usb &= ~MUSB_INTR_SUSPEND;
|
||||
dev_dbg(musb->controller, "Spurious SUSPENDM\n");
|
||||
break;
|
||||
}
|
||||
|
||||
power &= ~MUSB_POWER_SUSPENDM;
|
||||
musb_writeb(mbase, MUSB_POWER,
|
||||
power | MUSB_POWER_RESUME);
|
||||
|
||||
musb->port1_status |=
|
||||
(USB_PORT_STAT_C_SUSPEND << 16)
|
||||
| MUSB_PORT_STAT_RESUME;
|
||||
|
Loading…
Reference in New Issue
Block a user