| From 679b771ea05ad0f8eeae83e14a91b8f4f39510c4 Mon Sep 17 00:00:00 2001 |
| From: Justin Chen <justin.chen@broadcom.com> |
| Date: Wed, 18 Mar 2026 11:57:07 -0700 |
| Subject: usb: ehci-brcm: fix sleep during atomic |
| |
| From: Justin Chen <justin.chen@broadcom.com> |
| |
| commit 679b771ea05ad0f8eeae83e14a91b8f4f39510c4 upstream. |
| |
| echi_brcm_wait_for_sof() gets called after disabling interrupts |
| in ehci_brcm_hub_control(). Use the atomic version of poll_timeout |
| to fix the warning. |
| |
| Fixes: 9df231511bd6 ("usb: ehci: Add new EHCI driver for Broadcom STB SoC's") |
| Cc: stable <stable@kernel.org> |
| Signed-off-by: Justin Chen <justin.chen@broadcom.com> |
| Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> |
| Link: https://patch.msgid.link/20260318185707.2588431-1-justin.chen@broadcom.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/usb/host/ehci-brcm.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/usb/host/ehci-brcm.c |
| +++ b/drivers/usb/host/ehci-brcm.c |
| @@ -31,8 +31,8 @@ static inline void ehci_brcm_wait_for_so |
| int res; |
| |
| /* Wait for next microframe (every 125 usecs) */ |
| - res = readl_relaxed_poll_timeout(&ehci->regs->frame_index, val, |
| - val != frame_idx, 1, 130); |
| + res = readl_relaxed_poll_timeout_atomic(&ehci->regs->frame_index, |
| + val, val != frame_idx, 1, 130); |
| if (res) |
| ehci_err(ehci, "Error waiting for SOF\n"); |
| udelay(delay); |