* next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks
@ 2025-06-21 8:10 Naresh Kamboju
2025-06-21 17:15 ` Nitin Rawat
0 siblings, 1 reply; 4+ messages in thread
From: Naresh Kamboju @ 2025-06-21 8:10 UTC (permalink / raw)
To: open list, Linux ARM, lkft-triage, Linux Regressions, linux-phy,
linux-scsi
Cc: Nitin Rawat, Vinod Koul, Neil Armstrong, Kishon Vijay Abraham I,
James E.J. Bottomley, Martin K. Petersen, Bart Van Assche,
Bjorn Andersson, konrad.dybcio, dmitry.baryshkov,
Manivannan Sadhasivam
Regressions noticed on the Qualcomm Dragonboard 845c device while booting the
Linux next tags from next-20250616..next-20250620 the following kernel oops
noticed and boot failed.
Regressions found on Thundercomm Dragonboard 845c (DT)
- Boot
Regression Analysis:
- New regression? Yes
- Reproducibility? Yes
First seen on the next-20250616
Good: next-20250613
Bad: next-20250616
Boot regression: Qualcomm Dragonboard 845c Internal error Oops at
ufs_qcom_setup_clocks
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
## Boot log
[ 6.446825] ufshcd-qcom 1d84000.ufshc: ufshcd_populate_vreg: Unable
to find vccq2-supply regulator, assuming enabled
[ 6.448070] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000000
[ 6.448080] Mem abort info:
[ 6.448086] ESR = 0x0000000096000006
[ 6.448093] EC = 0x25: DABT (current EL), IL = 32 bits
[ 6.448101] SET = 0, FnV = 0
[ 6.448107] EA = 0, S1PTW = 0
[ 6.448113] FSC = 0x06: level 2 translation fault
[ 6.448120] Data abort info:
[ 6.448125] ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
[ 6.448132] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 6.448139] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 6.448146] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010447b000
[ 6.448154] [0000000000000000] pgd=080000010447d403,
p4d=080000010447d403, pud=080000010447e403, pmd=0000000000000000
[ 6.448186] Internal error: Oops: 0000000096000006 [#1] SMP
[ 6.448193] Modules linked in: qcom_q6v5_mss(+) ufs_qcom(+)
cfg80211(+) coresight_stm stm_core phy_qcom_qmp_pcie rfkill qcom_wdt
lmh(+) icc_osm_l3 qrtr slim_qcom_ngd_ctrl slimbus pdr_interface
qcom_pdr_msg icc_bwmon qcom_q6v5_pas(+) llcc_qcom qcom_pil_info
display_connector qcom_q6v5 qcom_sysmon drm_kms_helper qcom_common
qcom_glink_smem mdt_loader qmi_helpers drm backlight socinfo rmtfs_mem
[ 6.448278] CPU: 6 UID: 0 PID: 385 Comm: (udev-worker) Not tainted
6.16.0-rc2-next-20250620 #1 PREEMPT
[ 6.448288] Hardware name: Thundercomm Dragonboard 845c (DT)
[ 6.448292] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 6.448299] pc : ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom
[ 6.448317] lr : ufshcd_setup_clocks
(drivers/ufs/core/ufshcd-priv.h:142 drivers/ufs/core/ufshcd.c:9290)
[ 6.448332] sp : ffff800081213640
[ 6.448335] x29: ffff800081213640 x28: 0000000000000001 x27: ffff00008b633270
[ 6.448347] x26: ffff00008b6332a0 x25: ffff00008b632870 x24: 0000000000000000
[ 6.448359] x23: ffff00008b633280 x22: ffff00008b6332a0 x21: 0000000000000000
[ 6.448369] x20: ffffd7eabf84d618 x19: ffff00008b632870 x18: 0000000000000000
[ 6.448380] x17: 5453595342555300 x16: 305f666d745f6973 x15: 0000000000000100
[ 6.448391] x14: ffffffffffffffff x13: 0000000000000030 x12: 0101010101010101
[ 6.448402] x11: ffff00008188ea18 x10: 0000000000000000 x9 : ffffd7eabd9c3c28
[ 6.448413] x8 : ffff8000812134b8 x7 : fefefefefefefefe x6 : 0000000000000001
[ 6.448423] x5 : ffffffffffffffc8 x4 : 00000000c0000000 x3 : ffffd7eab32aa058
[ 6.448433] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffff00008b632870
[ 6.448444] Call trace:
[ 6.448449] ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom (P)
[ 6.448466] ufshcd_setup_clocks (drivers/ufs/core/ufshcd-priv.h:142
drivers/ufs/core/ufshcd.c:9290)
[ 6.448477] ufshcd_init (drivers/ufs/core/ufshcd.c:9468
drivers/ufs/core/ufshcd.c:10636)
[ 6.448485] ufshcd_pltfrm_init (drivers/ufs/host/ufshcd-pltfrm.c:504)
[ 6.448495] ufs_qcom_probe+0x28/0x68 ufs_qcom
[ 6.448508] platform_probe (drivers/base/platform.c:1404)
[ 6.448519] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
[ 6.448526] __driver_probe_device (drivers/base/dd.c:799)
[ 6.448532] driver_probe_device (drivers/base/dd.c:829)
[ 6.448539] __driver_attach (drivers/base/dd.c:1216)
[ 6.448545] bus_for_each_dev (drivers/base/bus.c:370)
[ 6.448556] driver_attach (drivers/base/dd.c:1234)
[ 6.448567] bus_add_driver (drivers/base/bus.c:678)
[ 6.448577] driver_register (drivers/base/driver.c:249)
[ 6.448584] __platform_driver_register (drivers/base/platform.c:868)
[ 6.448592] ufs_qcom_pltform_init+0x28/0xff8 ufs_qcom
[ 6.448605] do_one_initcall (init/main.c:1274)
[ 6.448615] do_init_module (kernel/module/main.c:3041)
[ 6.448626] load_module (kernel/module/main.c:3511)
[ 6.448635] init_module_from_file (kernel/module/main.c:3704)
[ 6.448644] __arm64_sys_finit_module (kernel/module/main.c:3715
kernel/module/main.c:3741 kernel/module/main.c:3725
kernel/module/main.c:3725)
[ 6.448653] invoke_syscall (arch/arm64/include/asm/current.h:19
arch/arm64/kernel/syscall.c:54)
[ 6.448661] el0_svc_common.constprop.0
(include/linux/thread_info.h:135 (discriminator 2)
arch/arm64/kernel/syscall.c:140 (discriminator 2))
[ 6.448668] do_el0_svc (arch/arm64/kernel/syscall.c:152)
[ 6.448674] el0_svc (arch/arm64/include/asm/irqflags.h:82
(discriminator 1) arch/arm64/include/asm/irqflags.h:123 (discriminator
1) arch/arm64/include/asm/irqflags.h:136 (discriminator 1)
arch/arm64/kernel/entry-common.c:165 (discriminator 1)
arch/arm64/kernel/entry-common.c:178 (discriminator 1)
arch/arm64/kernel/entry-common.c:768 (discriminator 1))
[ 6.448685] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:787)
[ 6.448694] el0t_64_sync (arch/arm64/kernel/entry.S:600)
[ 6.448705] Code: a90157f3 aa0003f3 f90013f6 f9405c15 (f94002b6)
All code
========
0: a90157f3 stp x19, x21, [sp, #16]
4: aa0003f3 mov x19, x0
8: f90013f6 str x22, [sp, #32]
c: f9405c15 ldr x21, [x0, #184]
10:* f94002b6 ldr x22, [x21] <-- trapping instruction
Code starting with the faulting instruction
===========================================
0: f94002b6 ldr x22, [x21]
[ 6.448710] ---[ end trace 0000000000000000 ]---
## Source
* Kernel version: 6.16.0-rc2-next-20250620
* Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
* Git sha: 2c923c845768a0f0e34b8161d70bc96525385782
* Git describe: next-20250620
* Project details:
https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250620/
* Architectures: arm64 Dragonboard 845c
* Toolchains: gcc-13
* Kconfigs: defconfig+lkfttestconfigs
## Build arm64
* Test log: https://qa-reports.linaro.org/api/testruns/28811906/log_file/
* Test Lava log: https://lkft.validation.linaro.org/scheduler/job/8323501#L5646
* Test Lava log 2:
https://lkft.validation.linaro.org/scheduler/job/8323351#L5682
* Test details:
https://regressions.linaro.org/lkft/linux-next-master/next-20250620/boot/gcc-13-lkftconfig/
* Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/
* Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/config
--
Linaro LKFT
https://lkft.linaro.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks
2025-06-21 8:10 next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks Naresh Kamboju
@ 2025-06-21 17:15 ` Nitin Rawat
2025-06-22 8:52 ` Naresh Kamboju
0 siblings, 1 reply; 4+ messages in thread
From: Nitin Rawat @ 2025-06-21 17:15 UTC (permalink / raw)
To: Naresh Kamboju, open list, Linux ARM, lkft-triage,
Linux Regressions, linux-phy, linux-scsi
Cc: Vinod Koul, Neil Armstrong, Kishon Vijay Abraham I,
James E.J. Bottomley, Martin K. Petersen, Bart Van Assche,
Bjorn Andersson, konrad.dybcio, dmitry.baryshkov,
Manivannan Sadhasivam
[-- Attachment #1: Type: text/plain, Size: 7348 bytes --]
On 6/21/2025 1:40 PM, Naresh Kamboju wrote:
> Regressions noticed on the Qualcomm Dragonboard 845c device while booting the
> Linux next tags from next-20250616..next-20250620 the following kernel oops
> noticed and boot failed.
>
> Regressions found on Thundercomm Dragonboard 845c (DT)
> - Boot
>
> Regression Analysis:
> - New regression? Yes
> - Reproducibility? Yes
>
> First seen on the next-20250616
> Good: next-20250613
> Bad: next-20250616
>
> Boot regression: Qualcomm Dragonboard 845c Internal error Oops at
> ufs_qcom_setup_clocks
>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Hi Naresh,
Thanks for testing and reporting this issue. Can you please
test with the attached fix and let me know if it helps.
Regards,
Nitin
>
> ## Boot log
> [ 6.446825] ufshcd-qcom 1d84000.ufshc: ufshcd_populate_vreg: Unable
> to find vccq2-supply regulator, assuming enabled
> [ 6.448070] Unable to handle kernel NULL pointer dereference at
> virtual address 0000000000000000
> [ 6.448080] Mem abort info:
> [ 6.448086] ESR = 0x0000000096000006
> [ 6.448093] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 6.448101] SET = 0, FnV = 0
> [ 6.448107] EA = 0, S1PTW = 0
> [ 6.448113] FSC = 0x06: level 2 translation fault
> [ 6.448120] Data abort info:
> [ 6.448125] ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
> [ 6.448132] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
> [ 6.448139] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
> [ 6.448146] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010447b000
> [ 6.448154] [0000000000000000] pgd=080000010447d403,
> p4d=080000010447d403, pud=080000010447e403, pmd=0000000000000000
> [ 6.448186] Internal error: Oops: 0000000096000006 [#1] SMP
> [ 6.448193] Modules linked in: qcom_q6v5_mss(+) ufs_qcom(+)
> cfg80211(+) coresight_stm stm_core phy_qcom_qmp_pcie rfkill qcom_wdt
> lmh(+) icc_osm_l3 qrtr slim_qcom_ngd_ctrl slimbus pdr_interface
> qcom_pdr_msg icc_bwmon qcom_q6v5_pas(+) llcc_qcom qcom_pil_info
> display_connector qcom_q6v5 qcom_sysmon drm_kms_helper qcom_common
> qcom_glink_smem mdt_loader qmi_helpers drm backlight socinfo rmtfs_mem
> [ 6.448278] CPU: 6 UID: 0 PID: 385 Comm: (udev-worker) Not tainted
> 6.16.0-rc2-next-20250620 #1 PREEMPT
> [ 6.448288] Hardware name: Thundercomm Dragonboard 845c (DT)
> [ 6.448292] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 6.448299] pc : ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom
> [ 6.448317] lr : ufshcd_setup_clocks
> (drivers/ufs/core/ufshcd-priv.h:142 drivers/ufs/core/ufshcd.c:9290)
> [ 6.448332] sp : ffff800081213640
> [ 6.448335] x29: ffff800081213640 x28: 0000000000000001 x27: ffff00008b633270
> [ 6.448347] x26: ffff00008b6332a0 x25: ffff00008b632870 x24: 0000000000000000
> [ 6.448359] x23: ffff00008b633280 x22: ffff00008b6332a0 x21: 0000000000000000
> [ 6.448369] x20: ffffd7eabf84d618 x19: ffff00008b632870 x18: 0000000000000000
> [ 6.448380] x17: 5453595342555300 x16: 305f666d745f6973 x15: 0000000000000100
> [ 6.448391] x14: ffffffffffffffff x13: 0000000000000030 x12: 0101010101010101
> [ 6.448402] x11: ffff00008188ea18 x10: 0000000000000000 x9 : ffffd7eabd9c3c28
> [ 6.448413] x8 : ffff8000812134b8 x7 : fefefefefefefefe x6 : 0000000000000001
> [ 6.448423] x5 : ffffffffffffffc8 x4 : 00000000c0000000 x3 : ffffd7eab32aa058
> [ 6.448433] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffff00008b632870
> [ 6.448444] Call trace:
> [ 6.448449] ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom (P)
> [ 6.448466] ufshcd_setup_clocks (drivers/ufs/core/ufshcd-priv.h:142
> drivers/ufs/core/ufshcd.c:9290)
> [ 6.448477] ufshcd_init (drivers/ufs/core/ufshcd.c:9468
> drivers/ufs/core/ufshcd.c:10636)
> [ 6.448485] ufshcd_pltfrm_init (drivers/ufs/host/ufshcd-pltfrm.c:504)
> [ 6.448495] ufs_qcom_probe+0x28/0x68 ufs_qcom
> [ 6.448508] platform_probe (drivers/base/platform.c:1404)
> [ 6.448519] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
> [ 6.448526] __driver_probe_device (drivers/base/dd.c:799)
> [ 6.448532] driver_probe_device (drivers/base/dd.c:829)
> [ 6.448539] __driver_attach (drivers/base/dd.c:1216)
> [ 6.448545] bus_for_each_dev (drivers/base/bus.c:370)
> [ 6.448556] driver_attach (drivers/base/dd.c:1234)
> [ 6.448567] bus_add_driver (drivers/base/bus.c:678)
> [ 6.448577] driver_register (drivers/base/driver.c:249)
> [ 6.448584] __platform_driver_register (drivers/base/platform.c:868)
> [ 6.448592] ufs_qcom_pltform_init+0x28/0xff8 ufs_qcom
> [ 6.448605] do_one_initcall (init/main.c:1274)
> [ 6.448615] do_init_module (kernel/module/main.c:3041)
> [ 6.448626] load_module (kernel/module/main.c:3511)
> [ 6.448635] init_module_from_file (kernel/module/main.c:3704)
> [ 6.448644] __arm64_sys_finit_module (kernel/module/main.c:3715
> kernel/module/main.c:3741 kernel/module/main.c:3725
> kernel/module/main.c:3725)
> [ 6.448653] invoke_syscall (arch/arm64/include/asm/current.h:19
> arch/arm64/kernel/syscall.c:54)
> [ 6.448661] el0_svc_common.constprop.0
> (include/linux/thread_info.h:135 (discriminator 2)
> arch/arm64/kernel/syscall.c:140 (discriminator 2))
> [ 6.448668] do_el0_svc (arch/arm64/kernel/syscall.c:152)
> [ 6.448674] el0_svc (arch/arm64/include/asm/irqflags.h:82
> (discriminator 1) arch/arm64/include/asm/irqflags.h:123 (discriminator
> 1) arch/arm64/include/asm/irqflags.h:136 (discriminator 1)
> arch/arm64/kernel/entry-common.c:165 (discriminator 1)
> arch/arm64/kernel/entry-common.c:178 (discriminator 1)
> arch/arm64/kernel/entry-common.c:768 (discriminator 1))
> [ 6.448685] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:787)
> [ 6.448694] el0t_64_sync (arch/arm64/kernel/entry.S:600)
> [ 6.448705] Code: a90157f3 aa0003f3 f90013f6 f9405c15 (f94002b6)
> All code
> ========
> 0: a90157f3 stp x19, x21, [sp, #16]
> 4: aa0003f3 mov x19, x0
> 8: f90013f6 str x22, [sp, #32]
> c: f9405c15 ldr x21, [x0, #184]
> 10:* f94002b6 ldr x22, [x21] <-- trapping instruction
>
> Code starting with the faulting instruction
> ===========================================
> 0: f94002b6 ldr x22, [x21]
> [ 6.448710] ---[ end trace 0000000000000000 ]---
>
> ## Source
> * Kernel version: 6.16.0-rc2-next-20250620
> * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
> * Git sha: 2c923c845768a0f0e34b8161d70bc96525385782
> * Git describe: next-20250620
> * Project details:
> https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250620/
> * Architectures: arm64 Dragonboard 845c
> * Toolchains: gcc-13
> * Kconfigs: defconfig+lkfttestconfigs
>
> ## Build arm64
> * Test log: https://qa-reports.linaro.org/api/testruns/28811906/log_file/
> * Test Lava log: https://lkft.validation.linaro.org/scheduler/job/8323501#L5646
> * Test Lava log 2:
> https://lkft.validation.linaro.org/scheduler/job/8323351#L5682
> * Test details:
> https://regressions.linaro.org/lkft/linux-next-master/next-20250620/boot/gcc-13-lkftconfig/
> * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/
> * Kernel config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/config
>
> --
> Linaro LKFT
> https://lkft.linaro.org
[-- Attachment #2: 0001-scsi-ufs-qcom-Fix-NULL-pointer-dereference-in-ufs_qc.patch --]
[-- Type: text/plain, Size: 3029 bytes --]
From 3f6abf0f5a1ad6dba975824c97c94a77babb9d38 Mon Sep 17 00:00:00 2001
From: Nitin Rawat <quic_nitirawa@quicinc.com>
Date: Sat, 21 Jun 2025 21:40:42 +0530
Subject: [PATCH V1] scsi: ufs: qcom : Fix NULL pointer dereference in
ufs_qcom_setup_clocks
Fix a NULL pointer dereference in ufs_qcom_setup_clocks due to an
uninitialized 'host' variable. The variable 'phy' is now assigned
after confirming 'host' is not NULL.
Call Stack:
[ 6.448070] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000000
[ 6.448449] ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom (P)
[ 6.448466] ufshcd_setup_clocks (drivers/ufs/core/ufshcd-priv.h:142)
[ 6.448477] ufshcd_init (drivers/ufs/core/ufshcd.c:9468)
[ 6.448485] ufshcd_pltfrm_init (drivers/ufs/host/ufshcd-pltfrm.c:504)
[ 6.448495] ufs_qcom_probe+0x28/0x68 ufs_qcom
[ 6.448508] platform_probe (drivers/base/platform.c:1404)
[ 6.448519] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
[ 6.448526] __driver_probe_device (drivers/base/dd.c:799)
[ 6.448532] driver_probe_device (drivers/base/dd.c:829)
[ 6.448539] __driver_attach (drivers/base/dd.c:1216)
[ 6.448545] bus_for_each_dev (drivers/base/bus.c:370)
[ 6.448556] driver_attach (drivers/base/dd.c:1234)
[ 6.448567] bus_add_driver (drivers/base/bus.c:678)
[ 6.448577] driver_register (drivers/base/driver.c:249)
[ 6.448584] __platform_driver_register (drivers/base/platform.c:868)
[ 6.448592] ufs_qcom_pltform_init+0x28/0xff8 ufs_qcom
[ 6.448605] do_one_initcall (init/main.c:1274)
[ 6.448615] do_init_module (kernel/module/main.c:3041)
[ 6.448626] load_module (kernel/module/main.c:3511)
[ 6.448635] init_module_from_file (kernel/module/main.c:3704)
[ 6.448644] __arm64_sys_finit_module (kernel/module/main.c:3715.
Fixes: 77d2fa54a945 ("scsi: ufs: qcom : Refactor phy_power_on/off calls")
Reported-by: Aishwarya <aishwarya.tcv@arm.com>
Closes: https://lore.kernel.org/lkml/20250620214408.11028-1-aishwarya.tcv@arm.com/
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Closes: https://lkml.org/lkml/2025/6/21/107
Co-developed-by: Ram Kumar Dwivedi <quic_rdwivedi@quicinc.com>
Signed-off-by: Ram Kumar Dwivedi <quic_rdwivedi@quicinc.com>
Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
---
drivers/ufs/host/ufs-qcom.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index ba4b2880279c..318dca7fe3d7 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1124,7 +1124,7 @@ static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on,
enum ufs_notify_change_status status)
{
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
- struct phy *phy = host->generic_phy;
+ struct phy *phy;
int err;
/*
@@ -1135,6 +1135,8 @@ static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on,
if (!host)
return 0;
+ phy = host->generic_phy;
+
switch (status) {
case PRE_CHANGE:
if (on) {
--
2.48.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks
2025-06-21 17:15 ` Nitin Rawat
@ 2025-06-22 8:52 ` Naresh Kamboju
2025-06-22 10:50 ` Nitin Rawat
0 siblings, 1 reply; 4+ messages in thread
From: Naresh Kamboju @ 2025-06-22 8:52 UTC (permalink / raw)
To: Nitin Rawat
Cc: open list, Linux ARM, lkft-triage, Linux Regressions, linux-phy,
linux-scsi, Vinod Koul, Neil Armstrong, Kishon Vijay Abraham I,
James E.J. Bottomley, Martin K. Petersen, Bart Van Assche,
Bjorn Andersson, konrad.dybcio, dmitry.baryshkov,
Manivannan Sadhasivam
On Sat, 21 Jun 2025 at 22:45, Nitin Rawat <quic_nitirawa@quicinc.com> wrote:
>
>
>
> On 6/21/2025 1:40 PM, Naresh Kamboju wrote:
> > Regressions noticed on the Qualcomm Dragonboard 845c device while booting the
> > Linux next tags from next-20250616..next-20250620 the following kernel oops
> > noticed and boot failed.
> >
> > Regressions found on Thundercomm Dragonboard 845c (DT)
> > - Boot
> >
> > Regression Analysis:
> > - New regression? Yes
> > - Reproducibility? Yes
> >
> > First seen on the next-20250616
> > Good: next-20250613
> > Bad: next-20250616
> >
> > Boot regression: Qualcomm Dragonboard 845c Internal error Oops at
> > ufs_qcom_setup_clocks
> >
> > Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
>
>
> Hi Naresh,
>
> Thanks for testing and reporting this issue. Can you please
> test with the attached fix and let me know if it helps.
The attached patch applied on top of the Linux next and
boot test pass and also LTP smoke runs smooth.
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Boot test pass LAVA test jobs runs links,
- https://lkft.validation.linaro.org/scheduler/job/8324919#L5075
- https://lkft.validation.linaro.org/scheduler/job/8324918#L5105
- https://lkft.validation.linaro.org/scheduler/job/8324917#L5120
- Naresh
>
> Regards,
> Nitin
>
>
> >
> > ## Boot log
> > [ 6.446825] ufshcd-qcom 1d84000.ufshc: ufshcd_populate_vreg: Unable
> > to find vccq2-supply regulator, assuming enabled
> > [ 6.448070] Unable to handle kernel NULL pointer dereference at
> > virtual address 0000000000000000
> > [ 6.448080] Mem abort info:
> > [ 6.448086] ESR = 0x0000000096000006
> > [ 6.448093] EC = 0x25: DABT (current EL), IL = 32 bits
> > [ 6.448101] SET = 0, FnV = 0
> > [ 6.448107] EA = 0, S1PTW = 0
> > [ 6.448113] FSC = 0x06: level 2 translation fault
> > [ 6.448120] Data abort info:
> > [ 6.448125] ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
> > [ 6.448132] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
> > [ 6.448139] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
> > [ 6.448146] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010447b000
> > [ 6.448154] [0000000000000000] pgd=080000010447d403,
> > p4d=080000010447d403, pud=080000010447e403, pmd=0000000000000000
> > [ 6.448186] Internal error: Oops: 0000000096000006 [#1] SMP
> > [ 6.448193] Modules linked in: qcom_q6v5_mss(+) ufs_qcom(+)
> > cfg80211(+) coresight_stm stm_core phy_qcom_qmp_pcie rfkill qcom_wdt
> > lmh(+) icc_osm_l3 qrtr slim_qcom_ngd_ctrl slimbus pdr_interface
> > qcom_pdr_msg icc_bwmon qcom_q6v5_pas(+) llcc_qcom qcom_pil_info
> > display_connector qcom_q6v5 qcom_sysmon drm_kms_helper qcom_common
> > qcom_glink_smem mdt_loader qmi_helpers drm backlight socinfo rmtfs_mem
> > [ 6.448278] CPU: 6 UID: 0 PID: 385 Comm: (udev-worker) Not tainted
> > 6.16.0-rc2-next-20250620 #1 PREEMPT
> > [ 6.448288] Hardware name: Thundercomm Dragonboard 845c (DT)
> > [ 6.448292] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [ 6.448299] pc : ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom
> > [ 6.448317] lr : ufshcd_setup_clocks
> > (drivers/ufs/core/ufshcd-priv.h:142 drivers/ufs/core/ufshcd.c:9290)
> > [ 6.448332] sp : ffff800081213640
> > [ 6.448335] x29: ffff800081213640 x28: 0000000000000001 x27: ffff00008b633270
> > [ 6.448347] x26: ffff00008b6332a0 x25: ffff00008b632870 x24: 0000000000000000
> > [ 6.448359] x23: ffff00008b633280 x22: ffff00008b6332a0 x21: 0000000000000000
> > [ 6.448369] x20: ffffd7eabf84d618 x19: ffff00008b632870 x18: 0000000000000000
> > [ 6.448380] x17: 5453595342555300 x16: 305f666d745f6973 x15: 0000000000000100
> > [ 6.448391] x14: ffffffffffffffff x13: 0000000000000030 x12: 0101010101010101
> > [ 6.448402] x11: ffff00008188ea18 x10: 0000000000000000 x9 : ffffd7eabd9c3c28
> > [ 6.448413] x8 : ffff8000812134b8 x7 : fefefefefefefefe x6 : 0000000000000001
> > [ 6.448423] x5 : ffffffffffffffc8 x4 : 00000000c0000000 x3 : ffffd7eab32aa058
> > [ 6.448433] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffff00008b632870
> > [ 6.448444] Call trace:
> > [ 6.448449] ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom (P)
> > [ 6.448466] ufshcd_setup_clocks (drivers/ufs/core/ufshcd-priv.h:142
> > drivers/ufs/core/ufshcd.c:9290)
> > [ 6.448477] ufshcd_init (drivers/ufs/core/ufshcd.c:9468
> > drivers/ufs/core/ufshcd.c:10636)
> > [ 6.448485] ufshcd_pltfrm_init (drivers/ufs/host/ufshcd-pltfrm.c:504)
> > [ 6.448495] ufs_qcom_probe+0x28/0x68 ufs_qcom
> > [ 6.448508] platform_probe (drivers/base/platform.c:1404)
> > [ 6.448519] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
> > [ 6.448526] __driver_probe_device (drivers/base/dd.c:799)
> > [ 6.448532] driver_probe_device (drivers/base/dd.c:829)
> > [ 6.448539] __driver_attach (drivers/base/dd.c:1216)
> > [ 6.448545] bus_for_each_dev (drivers/base/bus.c:370)
> > [ 6.448556] driver_attach (drivers/base/dd.c:1234)
> > [ 6.448567] bus_add_driver (drivers/base/bus.c:678)
> > [ 6.448577] driver_register (drivers/base/driver.c:249)
> > [ 6.448584] __platform_driver_register (drivers/base/platform.c:868)
> > [ 6.448592] ufs_qcom_pltform_init+0x28/0xff8 ufs_qcom
> > [ 6.448605] do_one_initcall (init/main.c:1274)
> > [ 6.448615] do_init_module (kernel/module/main.c:3041)
> > [ 6.448626] load_module (kernel/module/main.c:3511)
> > [ 6.448635] init_module_from_file (kernel/module/main.c:3704)
> > [ 6.448644] __arm64_sys_finit_module (kernel/module/main.c:3715
> > kernel/module/main.c:3741 kernel/module/main.c:3725
> > kernel/module/main.c:3725)
> > [ 6.448653] invoke_syscall (arch/arm64/include/asm/current.h:19
> > arch/arm64/kernel/syscall.c:54)
> > [ 6.448661] el0_svc_common.constprop.0
> > (include/linux/thread_info.h:135 (discriminator 2)
> > arch/arm64/kernel/syscall.c:140 (discriminator 2))
> > [ 6.448668] do_el0_svc (arch/arm64/kernel/syscall.c:152)
> > [ 6.448674] el0_svc (arch/arm64/include/asm/irqflags.h:82
> > (discriminator 1) arch/arm64/include/asm/irqflags.h:123 (discriminator
> > 1) arch/arm64/include/asm/irqflags.h:136 (discriminator 1)
> > arch/arm64/kernel/entry-common.c:165 (discriminator 1)
> > arch/arm64/kernel/entry-common.c:178 (discriminator 1)
> > arch/arm64/kernel/entry-common.c:768 (discriminator 1))
> > [ 6.448685] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:787)
> > [ 6.448694] el0t_64_sync (arch/arm64/kernel/entry.S:600)
> > [ 6.448705] Code: a90157f3 aa0003f3 f90013f6 f9405c15 (f94002b6)
> > All code
> > ========
> > 0: a90157f3 stp x19, x21, [sp, #16]
> > 4: aa0003f3 mov x19, x0
> > 8: f90013f6 str x22, [sp, #32]
> > c: f9405c15 ldr x21, [x0, #184]
> > 10:* f94002b6 ldr x22, [x21] <-- trapping instruction
> >
> > Code starting with the faulting instruction
> > ===========================================
> > 0: f94002b6 ldr x22, [x21]
> > [ 6.448710] ---[ end trace 0000000000000000 ]---
> >
> > ## Source
> > * Kernel version: 6.16.0-rc2-next-20250620
> > * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
> > * Git sha: 2c923c845768a0f0e34b8161d70bc96525385782
> > * Git describe: next-20250620
> > * Project details:
> > https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250620/
> > * Architectures: arm64 Dragonboard 845c
> > * Toolchains: gcc-13
> > * Kconfigs: defconfig+lkfttestconfigs
> >
> > ## Build arm64
> > * Test log: https://qa-reports.linaro.org/api/testruns/28811906/log_file/
> > * Test Lava log: https://lkft.validation.linaro.org/scheduler/job/8323501#L5646
> > * Test Lava log 2:
> > https://lkft.validation.linaro.org/scheduler/job/8323351#L5682
> > * Test details:
> > https://regressions.linaro.org/lkft/linux-next-master/next-20250620/boot/gcc-13-lkftconfig/
> > * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/
> > * Kernel config:
> > https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/config
> >
> > --
> > Linaro LKFT
> > https://lkft.linaro.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks
2025-06-22 8:52 ` Naresh Kamboju
@ 2025-06-22 10:50 ` Nitin Rawat
0 siblings, 0 replies; 4+ messages in thread
From: Nitin Rawat @ 2025-06-22 10:50 UTC (permalink / raw)
To: Naresh Kamboju
Cc: open list, Linux ARM, lkft-triage, Linux Regressions, linux-phy,
linux-scsi, Vinod Koul, Neil Armstrong, Kishon Vijay Abraham I,
James E.J. Bottomley, Martin K. Petersen, Bart Van Assche,
Bjorn Andersson, konrad.dybcio, dmitry.baryshkov,
Manivannan Sadhasivam
On 6/22/2025 2:22 PM, Naresh Kamboju wrote:
> On Sat, 21 Jun 2025 at 22:45, Nitin Rawat <quic_nitirawa@quicinc.com> wrote:
>>
>>
>>
>> On 6/21/2025 1:40 PM, Naresh Kamboju wrote:
>>> Regressions noticed on the Qualcomm Dragonboard 845c device while booting the
>>> Linux next tags from next-20250616..next-20250620 the following kernel oops
>>> noticed and boot failed.
>>>
>>> Regressions found on Thundercomm Dragonboard 845c (DT)
>>> - Boot
>>>
>>> Regression Analysis:
>>> - New regression? Yes
>>> - Reproducibility? Yes
>>>
>>> First seen on the next-20250616
>>> Good: next-20250613
>>> Bad: next-20250616
>>>
>>> Boot regression: Qualcomm Dragonboard 845c Internal error Oops at
>>> ufs_qcom_setup_clocks
>>>
>>> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
>>
>>
>> Hi Naresh,
>>
>> Thanks for testing and reporting this issue. Can you please
>> test with the attached fix and let me know if it helps.
>
> The attached patch applied on top of the Linux next and
> boot test pass and also LTP smoke runs smooth.
Thank you, Naresh, for testing the fix. I have sent the patch for
review.
Thanks,
Nitin
>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
>
> Boot test pass LAVA test jobs runs links,
> - https://lkft.validation.linaro.org/scheduler/job/8324919#L5075
> - https://lkft.validation.linaro.org/scheduler/job/8324918#L5105
> - https://lkft.validation.linaro.org/scheduler/job/8324917#L5120
>
> - Naresh
>
>>
>> Regards,
>> Nitin
>>
>>
>>>
>>> ## Boot log
>>> [ 6.446825] ufshcd-qcom 1d84000.ufshc: ufshcd_populate_vreg: Unable
>>> to find vccq2-supply regulator, assuming enabled
>>> [ 6.448070] Unable to handle kernel NULL pointer dereference at
>>> virtual address 0000000000000000
>>> [ 6.448080] Mem abort info:
>>> [ 6.448086] ESR = 0x0000000096000006
>>> [ 6.448093] EC = 0x25: DABT (current EL), IL = 32 bits
>>> [ 6.448101] SET = 0, FnV = 0
>>> [ 6.448107] EA = 0, S1PTW = 0
>>> [ 6.448113] FSC = 0x06: level 2 translation fault
>>> [ 6.448120] Data abort info:
>>> [ 6.448125] ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
>>> [ 6.448132] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
>>> [ 6.448139] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
>>> [ 6.448146] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010447b000
>>> [ 6.448154] [0000000000000000] pgd=080000010447d403,
>>> p4d=080000010447d403, pud=080000010447e403, pmd=0000000000000000
>>> [ 6.448186] Internal error: Oops: 0000000096000006 [#1] SMP
>>> [ 6.448193] Modules linked in: qcom_q6v5_mss(+) ufs_qcom(+)
>>> cfg80211(+) coresight_stm stm_core phy_qcom_qmp_pcie rfkill qcom_wdt
>>> lmh(+) icc_osm_l3 qrtr slim_qcom_ngd_ctrl slimbus pdr_interface
>>> qcom_pdr_msg icc_bwmon qcom_q6v5_pas(+) llcc_qcom qcom_pil_info
>>> display_connector qcom_q6v5 qcom_sysmon drm_kms_helper qcom_common
>>> qcom_glink_smem mdt_loader qmi_helpers drm backlight socinfo rmtfs_mem
>>> [ 6.448278] CPU: 6 UID: 0 PID: 385 Comm: (udev-worker) Not tainted
>>> 6.16.0-rc2-next-20250620 #1 PREEMPT
>>> [ 6.448288] Hardware name: Thundercomm Dragonboard 845c (DT)
>>> [ 6.448292] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
>>> [ 6.448299] pc : ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom
>>> [ 6.448317] lr : ufshcd_setup_clocks
>>> (drivers/ufs/core/ufshcd-priv.h:142 drivers/ufs/core/ufshcd.c:9290)
>>> [ 6.448332] sp : ffff800081213640
>>> [ 6.448335] x29: ffff800081213640 x28: 0000000000000001 x27: ffff00008b633270
>>> [ 6.448347] x26: ffff00008b6332a0 x25: ffff00008b632870 x24: 0000000000000000
>>> [ 6.448359] x23: ffff00008b633280 x22: ffff00008b6332a0 x21: 0000000000000000
>>> [ 6.448369] x20: ffffd7eabf84d618 x19: ffff00008b632870 x18: 0000000000000000
>>> [ 6.448380] x17: 5453595342555300 x16: 305f666d745f6973 x15: 0000000000000100
>>> [ 6.448391] x14: ffffffffffffffff x13: 0000000000000030 x12: 0101010101010101
>>> [ 6.448402] x11: ffff00008188ea18 x10: 0000000000000000 x9 : ffffd7eabd9c3c28
>>> [ 6.448413] x8 : ffff8000812134b8 x7 : fefefefefefefefe x6 : 0000000000000001
>>> [ 6.448423] x5 : ffffffffffffffc8 x4 : 00000000c0000000 x3 : ffffd7eab32aa058
>>> [ 6.448433] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffff00008b632870
>>> [ 6.448444] Call trace:
>>> [ 6.448449] ufs_qcom_setup_clocks+0x28/0x148 ufs_qcom (P)
>>> [ 6.448466] ufshcd_setup_clocks (drivers/ufs/core/ufshcd-priv.h:142
>>> drivers/ufs/core/ufshcd.c:9290)
>>> [ 6.448477] ufshcd_init (drivers/ufs/core/ufshcd.c:9468
>>> drivers/ufs/core/ufshcd.c:10636)
>>> [ 6.448485] ufshcd_pltfrm_init (drivers/ufs/host/ufshcd-pltfrm.c:504)
>>> [ 6.448495] ufs_qcom_probe+0x28/0x68 ufs_qcom
>>> [ 6.448508] platform_probe (drivers/base/platform.c:1404)
>>> [ 6.448519] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
>>> [ 6.448526] __driver_probe_device (drivers/base/dd.c:799)
>>> [ 6.448532] driver_probe_device (drivers/base/dd.c:829)
>>> [ 6.448539] __driver_attach (drivers/base/dd.c:1216)
>>> [ 6.448545] bus_for_each_dev (drivers/base/bus.c:370)
>>> [ 6.448556] driver_attach (drivers/base/dd.c:1234)
>>> [ 6.448567] bus_add_driver (drivers/base/bus.c:678)
>>> [ 6.448577] driver_register (drivers/base/driver.c:249)
>>> [ 6.448584] __platform_driver_register (drivers/base/platform.c:868)
>>> [ 6.448592] ufs_qcom_pltform_init+0x28/0xff8 ufs_qcom
>>> [ 6.448605] do_one_initcall (init/main.c:1274)
>>> [ 6.448615] do_init_module (kernel/module/main.c:3041)
>>> [ 6.448626] load_module (kernel/module/main.c:3511)
>>> [ 6.448635] init_module_from_file (kernel/module/main.c:3704)
>>> [ 6.448644] __arm64_sys_finit_module (kernel/module/main.c:3715
>>> kernel/module/main.c:3741 kernel/module/main.c:3725
>>> kernel/module/main.c:3725)
>>> [ 6.448653] invoke_syscall (arch/arm64/include/asm/current.h:19
>>> arch/arm64/kernel/syscall.c:54)
>>> [ 6.448661] el0_svc_common.constprop.0
>>> (include/linux/thread_info.h:135 (discriminator 2)
>>> arch/arm64/kernel/syscall.c:140 (discriminator 2))
>>> [ 6.448668] do_el0_svc (arch/arm64/kernel/syscall.c:152)
>>> [ 6.448674] el0_svc (arch/arm64/include/asm/irqflags.h:82
>>> (discriminator 1) arch/arm64/include/asm/irqflags.h:123 (discriminator
>>> 1) arch/arm64/include/asm/irqflags.h:136 (discriminator 1)
>>> arch/arm64/kernel/entry-common.c:165 (discriminator 1)
>>> arch/arm64/kernel/entry-common.c:178 (discriminator 1)
>>> arch/arm64/kernel/entry-common.c:768 (discriminator 1))
>>> [ 6.448685] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:787)
>>> [ 6.448694] el0t_64_sync (arch/arm64/kernel/entry.S:600)
>>> [ 6.448705] Code: a90157f3 aa0003f3 f90013f6 f9405c15 (f94002b6)
>>> All code
>>> ========
>>> 0: a90157f3 stp x19, x21, [sp, #16]
>>> 4: aa0003f3 mov x19, x0
>>> 8: f90013f6 str x22, [sp, #32]
>>> c: f9405c15 ldr x21, [x0, #184]
>>> 10:* f94002b6 ldr x22, [x21] <-- trapping instruction
>>>
>>> Code starting with the faulting instruction
>>> ===========================================
>>> 0: f94002b6 ldr x22, [x21]
>>> [ 6.448710] ---[ end trace 0000000000000000 ]---
>>>
>>> ## Source
>>> * Kernel version: 6.16.0-rc2-next-20250620
>>> * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
>>> * Git sha: 2c923c845768a0f0e34b8161d70bc96525385782
>>> * Git describe: next-20250620
>>> * Project details:
>>> https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250620/
>>> * Architectures: arm64 Dragonboard 845c
>>> * Toolchains: gcc-13
>>> * Kconfigs: defconfig+lkfttestconfigs
>>>
>>> ## Build arm64
>>> * Test log: https://qa-reports.linaro.org/api/testruns/28811906/log_file/
>>> * Test Lava log: https://lkft.validation.linaro.org/scheduler/job/8323501#L5646
>>> * Test Lava log 2:
>>> https://lkft.validation.linaro.org/scheduler/job/8323351#L5682
>>> * Test details:
>>> https://regressions.linaro.org/lkft/linux-next-master/next-20250620/boot/gcc-13-lkftconfig/
>>> * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/
>>> * Kernel config:
>>> https://storage.tuxsuite.com/public/linaro/lkft/builds/2yj4otvwBRT4UktLTyKEN8ZtUQm/config
>>>
>>> --
>>> Linaro LKFT
>>> https://lkft.linaro.org
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-06-22 10:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-21 8:10 next-20250620: Qualcomm Dragonboard 845c Internal error Oops at ufs_qcom_setup_clocks Naresh Kamboju
2025-06-21 17:15 ` Nitin Rawat
2025-06-22 8:52 ` Naresh Kamboju
2025-06-22 10:50 ` Nitin Rawat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).