* usb: dwc2: screaming interrupt after kexec reboot
@ 2020-05-26 3:25 Frank Mori Hess
2020-05-27 6:06 ` Minas Harutyunyan
0 siblings, 1 reply; 3+ messages in thread
From: Frank Mori Hess @ 2020-05-26 3:25 UTC (permalink / raw)
To: Minas Harutyunyan, linux-usb
Hi,
I get a screaming dwc2 interrupt after rebooting into a new kernel
with kexec. I fixed it by modifying the dwc2_driver_shutdown function
in dwc2/platform.c so it does
dwc2_writel(hsotg, 0, GINTMSK);
dwc2_writel(hsotg, 0, HAINTMSK);
dwc2_writel(hsotg, 0, DAINTMSK);
rather than calling disable_irq(). Another reason to make this change
is disable_irq() affects other devices if the irq is shared. I'd
really rather not submit a formal patch, hopefully the maintainer will
adopt this suggestion.
--
Frank
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: usb: dwc2: screaming interrupt after kexec reboot
2020-05-26 3:25 usb: dwc2: screaming interrupt after kexec reboot Frank Mori Hess
@ 2020-05-27 6:06 ` Minas Harutyunyan
2020-05-28 19:16 ` Frank Mori Hess
0 siblings, 1 reply; 3+ messages in thread
From: Minas Harutyunyan @ 2020-05-27 6:06 UTC (permalink / raw)
To: Frank Mori Hess, Minas Harutyunyan, linux-usb
Hi Frank,
On 5/26/2020 7:25 AM, Frank Mori Hess wrote:
> Hi,
>
> I get a screaming dwc2 interrupt after rebooting into a new kernel
> with kexec. I fixed it by modifying the dwc2_driver_shutdown function
> in dwc2/platform.c so it does
>
> dwc2_writel(hsotg, 0, GINTMSK);
> dwc2_writel(hsotg, 0, HAINTMSK);
> dwc2_writel(hsotg, 0, DAINTMSK);
>
> rather than calling disable_irq(). Another reason to make this change
> is disable_irq() affects other devices if the irq is shared. I'd
> really rather not submit a formal patch, hopefully the maintainer will
> adopt this suggestion.
>
Could you please test this patch instead of your suggestion. Does it
solve issue in your case?
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index e571c8ae65ec..ada5b66b948e 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -342,7 +342,7 @@ 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);
}
/**
Thanks,
Minas
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: usb: dwc2: screaming interrupt after kexec reboot
2020-05-27 6:06 ` Minas Harutyunyan
@ 2020-05-28 19:16 ` Frank Mori Hess
0 siblings, 0 replies; 3+ messages in thread
From: Frank Mori Hess @ 2020-05-28 19:16 UTC (permalink / raw)
To: Minas Harutyunyan; +Cc: linux-usb
Hi Minas,
On Wed, May 27, 2020 at 2:07 AM Minas Harutyunyan
<Minas.Harutyunyan@synopsys.com> wrote:
> Could you please test this patch instead of your suggestion. Does it
> solve issue in your case?
Yes, I tested using your patch and it does work.
>
> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
> index e571c8ae65ec..ada5b66b948e 100644
> --- a/drivers/usb/dwc2/platform.c
> +++ b/drivers/usb/dwc2/platform.c
> @@ -342,7 +342,7 @@ 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);
> }
>
> /**
>
>
> Thanks,
> Minas
--
Frank
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-05-28 19:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-26 3:25 usb: dwc2: screaming interrupt after kexec reboot Frank Mori Hess
2020-05-27 6:06 ` Minas Harutyunyan
2020-05-28 19:16 ` Frank Mori Hess
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.