| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.14 014/183] usb: musb: Fix external abort in musb_remove on omap2430 | Date | Wed, 25 Apr 2018 12:33:54 +0200 |
| |
4.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Merlijn Wajer <merlijn@wizzup.org>
commit 94e46a4f2d5eb14059e42f313c098d4854847376 upstream.
This fixes an oops on unbind / module unload (on the musb omap2430 platform).
musb_remove function now calls musb_platform_exit before disabling runtime pm.
Signed-off-by: Merlijn Wajer <merlijn@wizzup.org> Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/usb/musb/musb_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -2498,11 +2498,11 @@ static int musb_remove(struct platform_d musb_disable_interrupts(musb); musb_writeb(musb->mregs, MUSB_DEVCTL, 0); spin_unlock_irqrestore(&musb->lock, flags); + musb_platform_exit(musb); pm_runtime_dont_use_autosuspend(musb->controller); pm_runtime_put_sync(musb->controller); pm_runtime_disable(musb->controller); - musb_platform_exit(musb); musb_phy_callback = NULL; if (musb->dma_controller) musb_dma_controller_destroy(musb->dma_controller);
|