提交 d0fc0a20 编写于 作者: F Felipe Balbi

usb: musb: core: move babble recovery inside babble check

There was already a proper place where we were
checking for babble interrupts, move babble
recovery there.
Tested-by: NBin Liu <b-liu@ti.com>
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 d0cddae7
......@@ -899,6 +899,12 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
if (power & MUSB_POWER_HSMODE) {
ERR("Stopping host session -- babble\n");
musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
if (is_host_active(musb)) {
musb_generic_disable(musb);
schedule_delayed_work(&musb->recover_work,
msecs_to_jiffies(100));
}
}
} else {
dev_dbg(musb->controller, "BUS RESET as %s\n",
......@@ -938,13 +944,6 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
}
}
/* handle babble condition */
if (int_usb & MUSB_INTR_BABBLE && is_host_active(musb)) {
musb_generic_disable(musb);
schedule_delayed_work(&musb->recover_work,
msecs_to_jiffies(100));
}
#if 0
/* REVISIT ... this would be for multiplexing periodic endpoints, or
* supporting transfer phasing to prevent exceeding ISO bandwidth
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册