]> www.infradead.org Git - users/willy/linux.git/commitdiff
usb: dwc2: Fix shutdown callback in platform
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Sat, 30 May 2020 07:41:50 +0000 (11:41 +0400)
committerFelipe Balbi <balbi@kernel.org>
Thu, 9 Jul 2020 07:13:07 +0000 (10:13 +0300)
To avoid lot of interrupts from dwc2 core, which can be asserted in
specific conditions need to disable interrupts on HW level instead of
disable IRQs on Kernel level, because of IRQ can be shared between
drivers.

Cc: stable@vger.kernel.org
Fixes: a40a00318c7fc ("usb: dwc2: add shutdown callback to platform variant")
Tested-by: Frank Mori Hess <fmh6jj@gmail.com>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Frank Mori Hess <fmh6jj@gmail.com>
Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc2/platform.c

index c347d93eae64659a1f4c3752e9564444baebd16a..cb8ddbd537187de004e2acc1a0f2885debb667ef 100644 (file)
@@ -342,7 +342,8 @@ static void dwc2_driver_shutdown(struct platform_device *dev)
 {
        struct dwc2_hsotg *hsotg = platform_get_drvdata(dev);
 
-       disable_irq(hsotg->irq);
+       dwc2_disable_global_interrupts(hsotg);
+       synchronize_irq(hsotg->irq);
 }
 
 /**