diff mbox series

xhci: tegra: fix checked USB2 port number

Message ID 20241011072240.42978-1-henryl@nvidia.com
State Superseded
Headers show
Series xhci: tegra: fix checked USB2 port number | expand

Commit Message

Henry Lin Oct. 11, 2024, 7:22 a.m. UTC
From: Henry Lin <henryl@nvidia.com>

USB2 root hub in VF may contain less port number than supported USB2
phy number. Checking all USB2 phy number here would cause invalid
memory access.

[  116.923438] Unable to handle kernel paging request at virtual address 006c622f7665642f
...
[  117.213640] Call trace:
[  117.216783]  tegra_xusb_enter_elpg+0x23c/0x658
[  117.222021]  tegra_xusb_runtime_suspend+0x40/0x68
[  117.227260]  pm_generic_runtime_suspend+0x30/0x50
[  117.232847]  __rpm_callback+0x84/0x3c0
[  117.237038]  rpm_suspend+0x2dc/0x740
[  117.241229] pm_runtime_work+0xa0/0xb8
[  117.245769]  process_scheduled_works+0x24c/0x478
[  117.251007]  worker_thread+0x23c/0x328
[  117.255547]  kthread+0x104/0x1b0
[  117.259389]  ret_from_fork+0x10/0x20
[  117.263582] Code: 54000222 f9461ae8 f8747908 b4ffff48 (f9400100)

Signed-off-by: Henry Lin <henryl@nvidia.com>
---
 drivers/usb/host/xhci-tegra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Henry Lin Oct. 11, 2024, 8:32 a.m. UTC | #1
>> What commit id does this fix?  Should it be backported?
Below change is fixed. It needs to be backported.
a30951d31b25 ("xhci: tegra: USB2 pad power controls") 

Thanks.
--nvpublic
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
index 6246d5ad1468..76f228e7443c 100644
--- a/drivers/usb/host/xhci-tegra.c
+++ b/drivers/usb/host/xhci-tegra.c
@@ -2183,7 +2183,7 @@  static int tegra_xusb_enter_elpg(struct tegra_xusb *tegra, bool runtime)
 		goto out;
 	}
 
-	for (i = 0; i < tegra->num_usb_phys; i++) {
+	for (i = 0; i < xhci->usb2_rhub.num_ports; i++) {
 		if (!xhci->usb2_rhub.ports[i])
 			continue;
 		portsc = readl(xhci->usb2_rhub.ports[i]->addr);