* Re: Patch "usb: dwc2: Skip clock gating on Broadcom SoCs" has been added to the 6.11-stable tree
[not found] <20240930232610.2570738-1-sashal@kernel.org>
@ 2024-10-01 5:23 ` Stefan Wahren
2024-10-01 8:24 ` Greg Kroah-Hartman
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Wahren @ 2024-10-01 5:23 UTC (permalink / raw)
To: stable, stable-commits, Sasha Levin; +Cc: Minas Harutyunyan, Greg Kroah-Hartman
Hi Sasha,
Am 01.10.24 um 01:26 schrieb Sasha Levin:
> This is a note to let you know that I've just added the patch titled
>
> usb: dwc2: Skip clock gating on Broadcom SoCs
>
> to the 6.11-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> usb-dwc2-skip-clock-gating-on-broadcom-socs.patch
> and it can be found in the queue-6.11 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
please do not apply this patch to any stable branch yet. Recently i
discovered a critical issue [1] which is revealed by this change. This
needs to be investigated and fixed before this patch can be applied.
Regards Stefan
[1] -
https://lore.kernel.org/linux-usb/a4cb3fe4-3d0f-4bf9-a2b1-7f422ba277c8@gmx.net/T/#u
>
>
> commit f2e9c654eb420e15992ef1e6f5e0ceaca92aacbb
> Author: Stefan Wahren <wahrenst@gmx.net>
> Date: Sun Jul 28 15:00:26 2024 +0200
>
> usb: dwc2: Skip clock gating on Broadcom SoCs
>
> [ Upstream commit d483f034f03261c8c8450d106aa243837122b5f0 ]
>
> On resume of the Raspberry Pi the dwc2 driver fails to enable
> HCD_FLAG_HW_ACCESSIBLE before re-enabling the interrupts.
> This causes a situation where both handler ignore a incoming port
> interrupt and force the upper layers to disable the dwc2 interrupt line.
> This leaves the USB interface in a unusable state:
>
> irq 66: nobody cared (try booting with the "irqpoll" option)
> CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.10.0-rc3
> Hardware name: BCM2835
> Call trace:
> unwind_backtrace from show_stack+0x10/0x14
> show_stack from dump_stack_lvl+0x50/0x64
> dump_stack_lvl from __report_bad_irq+0x38/0xc0
> __report_bad_irq from note_interrupt+0x2ac/0x2f4
> note_interrupt from handle_irq_event+0x88/0x8c
> handle_irq_event from handle_level_irq+0xb4/0x1ac
> handle_level_irq from generic_handle_domain_irq+0x24/0x34
> generic_handle_domain_irq from bcm2836_chained_handle_irq+0x24/0x28
> bcm2836_chained_handle_irq from generic_handle_domain_irq+0x24/0x34
> generic_handle_domain_irq from generic_handle_arch_irq+0x34/0x44
> generic_handle_arch_irq from __irq_svc+0x88/0xb0
> Exception stack(0xc1b01f20 to 0xc1b01f68)
> 1f20: 0005c0d4 00000001 00000000 00000000 c1b09780 c1d6b32c c1b04e54 c1a5eae8
> 1f40: c1b04e90 00000000 00000000 00000000 c1d6a8a0 c1b01f70 c11d2da8 c11d4160
> 1f60: 60000013 ffffffff
> __irq_svc from default_idle_call+0x1c/0xb0
> default_idle_call from do_idle+0x21c/0x284
> do_idle from cpu_startup_entry+0x28/0x2c
> cpu_startup_entry from kernel_init+0x0/0x12c
> handlers:
> [<f539e0f4>] dwc2_handle_common_intr
> [<75cd278b>] usb_hcd_irq
> Disabling IRQ #66
>
> Disabling clock gating workaround this issue.
>
> Fixes: 0112b7ce68ea ("usb: dwc2: Update dwc2_handle_usb_suspend_intr function.")
> Link: https://lore.kernel.org/linux-usb/3fd0c2fb-4752-45b3-94eb-42352703e1fd@gmx.net/T/
> Link: https://lore.kernel.org/all/5e8cbce0-3260-2971-484f-fc73a3b2bd28@synopsys.com/
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> Acked-by: Minas Harutyunyan <hminas@synopsys.com>
> Link: https://lore.kernel.org/r/20240728130029.78279-5-wahrenst@gmx.net
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
>
> diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
> index a937eadbc9b3e..214dca7044163 100644
> --- a/drivers/usb/dwc2/params.c
> +++ b/drivers/usb/dwc2/params.c
> @@ -23,6 +23,7 @@ static void dwc2_set_bcm_params(struct dwc2_hsotg *hsotg)
> p->max_transfer_size = 65535;
> p->max_packet_count = 511;
> p->ahbcfg = 0x10;
> + p->no_clock_gating = true;
> }
>
> static void dwc2_set_his_params(struct dwc2_hsotg *hsotg)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Patch "usb: dwc2: Skip clock gating on Broadcom SoCs" has been added to the 6.11-stable tree
2024-10-01 5:23 ` Patch "usb: dwc2: Skip clock gating on Broadcom SoCs" has been added to the 6.11-stable tree Stefan Wahren
@ 2024-10-01 8:24 ` Greg Kroah-Hartman
0 siblings, 0 replies; 2+ messages in thread
From: Greg Kroah-Hartman @ 2024-10-01 8:24 UTC (permalink / raw)
To: Stefan Wahren; +Cc: stable, stable-commits, Sasha Levin, Minas Harutyunyan
On Tue, Oct 01, 2024 at 07:23:16AM +0200, Stefan Wahren wrote:
> Hi Sasha,
>
> Am 01.10.24 um 01:26 schrieb Sasha Levin:
> > This is a note to let you know that I've just added the patch titled
> >
> > usb: dwc2: Skip clock gating on Broadcom SoCs
> >
> > to the 6.11-stable tree which can be found at:
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> > The filename of the patch is:
> > usb-dwc2-skip-clock-gating-on-broadcom-socs.patch
> > and it can be found in the queue-6.11 subdirectory.
> >
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> please do not apply this patch to any stable branch yet. Recently i
> discovered a critical issue [1] which is revealed by this change. This
> needs to be investigated and fixed before this patch can be applied.
Now dropped from all stable trees, thanks.
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-10-01 8:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240930232610.2570738-1-sashal@kernel.org>
2024-10-01 5:23 ` Patch "usb: dwc2: Skip clock gating on Broadcom SoCs" has been added to the 6.11-stable tree Stefan Wahren
2024-10-01 8:24 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox