Message ID | 20241011072240.42978-1-henryl@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xhci: tegra: fix checked USB2 port number | expand |
On Fri, Oct 11, 2024 at 03:22:40PM +0800, henryl wrote: > 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> What commit id does this fix? Should it be backported? thanks, greg k-h
>> 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
On Fri, Oct 11, 2024 at 08:32:27AM +0000, Henry Lin wrote: > >> 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") Great, can you resend with the proper Fixes: tag and the needed cc: stable line as well? thanks, greg k-h
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);