summaryrefslogtreecommitdiff
path: root/CREDITS
diff options
context:
space:
mode:
authorGrygorii Strashko <grygorii.strashko@ti.com>2016-12-12 19:37:52 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-07 01:59:46 (GMT)
commit8af0937aee50d1d1f41f1caf56aefcf364d3b1b9 (patch)
treed32ec4a33dd639812f1dda8333713d350367a903 /CREDITS
parent29e0adf8bacd3cb91893ec90eb6a61d938209a24 (diff)
downloadlinux-8af0937aee50d1d1f41f1caf56aefcf364d3b1b9.tar.xz
usb: dwc3: omap: fix race of pm runtime with irq handler in probe
[ Upstream commit 12a7f17fac5b370bec87259e4c718faf563ce900 ] Now races can happen between interrupt handler execution and PM runtime in error handling code path in probe and in dwc3_omap_remove() which will lead to system crash: in probe: ... err1: pm_runtime_put_sync(dev); ^^ PM runtime can race with IRQ handler when deferred probing happening due to extcon pm_runtime_disable(dev); return ret; in dwc3_omap_remove: ... dwc3_omap_disable_irqs(omap); ^^ IRQs are disabled in HW, but handler may still run of_platform_depopulate(omap->dev); pm_runtime_put_sync(&pdev->dev); ^^ PM runtime can race with IRQ handler pm_runtime_disable(&pdev->dev); return 0; So, OMAP DWC3 IRQ need to be disabled before calling pm_runtime_put() in probe and in dwc3_omap_remove(). Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'CREDITS')
0 files changed, 0 insertions, 0 deletions