[PATCH] usb: cdnsp: fix incorrect endian conversions for APB timeout register

Pawel Laszczak via B4 Relay posted 1 patch 4 days, 15 hours ago
drivers/usb/cdns3/cdnsp-gadget.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] usb: cdnsp: fix incorrect endian conversions for APB timeout register
Posted by Pawel Laszczak via B4 Relay 4 days, 15 hours ago
From: Pawel Laszczak <pawell@cadence.com>

readl() already returns a CPU-endian value. Passing its return value to
le32_to_cpu() is therefore redundant and causes an incorrect double byte
swap on big-endian systems.

Similarly, writel() expects a CPU-endian value, so passing the result of
cpu_to_le32() is incorrect.

Remove the unnecessary conversions and operate on the MMIO register value
as a CPU-endian u32.

Fixes: 241e2ce88e5a ("usb: cdnsp: Fix issue with resuming from L1")
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Cc: stable@vger.kernel.org
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
---
 drivers/usb/cdns3/cdnsp-gadget.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/cdns3/cdnsp-gadget.c b/drivers/usb/cdns3/cdnsp-gadget.c
index a5275c2fb43b..7a516e509198 100644
--- a/drivers/usb/cdns3/cdnsp-gadget.c
+++ b/drivers/usb/cdns3/cdnsp-gadget.c
@@ -163,9 +163,9 @@ static void cdnsp_set_apb_timeout_value(struct cdnsp_device *pdev)
 	offset = cdnsp_find_next_ext_cap(base, offset, D_XEC_PRE_REGS_CAP);
 	reg = base + offset + REG_CHICKEN_BITS_3_OFFSET;
 
-	val  = le32_to_cpu(readl(reg));
+	val  = readl(reg);
 	val = CHICKEN_APB_TIMEOUT_SET(val, cdns->override_apb_timeout);
-	writel(cpu_to_le32(val), reg);
+	writel(val, reg);
 }
 
 static void cdnsp_set_chicken_bits_2(struct cdnsp_device *pdev, u32 bit)

---
base-commit: abe651837cb394f76d738a7a747322fca3bf17ba
change-id: 20260720-endian-fix-v1-c16396951e1e

Best regards,
--  
Pawel Laszczak <pawell@cadence.com>
Re: [PATCH] usb: cdnsp: fix incorrect endian conversions for APB timeout register
Posted by Arnd Bergmann 4 days, 15 hours ago
On Mon, Jul 20, 2026, at 13:11, Pawel Laszczak via B4 Relay wrote:
>
> Fixes: 241e2ce88e5a ("usb: cdnsp: Fix issue with resuming from L1")
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Cc: stable@vger.kernel.org
> Signed-off-by: Pawel Laszczak <pawell@cadence.com>

Acked-by: Arnd Bergmann <arnd@arndb.de>