Tool/software:
Hello TI,
I am using the CC3351 chip with SDK 1.0.0.9 in Linux kernel 5.10.
I am currently facing an issue where I encounter an error caused by the CC3351 driver while performing kernel sleep mode resume:
Suspend log:
[ 31.330213] PM: suspend entry (s2idle)
[ 31.337299] Filesystems sync: 0.003 seconds
[ 31.345001] Freezing user space processes ... (elapsed 0.045 seconds) done.
[ 31.397474] OOM killer disabled.
[ 31.400696] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 31.410403] Bluetooth: [bt sdio] suspend
[ 31.410421] Bluetooth: [bt sdio] mmc1:0001:1: suspend: PM flags = 0x1
Resume log:
[ 80.680518] Bluetooth: [bt sdio] resume
[ 80.684387] Bluetooth: [bt sdio] mmc1:0001:1: resume: PM flags = 0x1
[ 80.690748] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000030
[ 80.699501] Mem abort info:
[ 80.702287] ESR = 0x96000004
[ 80.705325] EC = 0x25: DABT (current EL), IL = 32 bits
[ 80.710616] SET = 0, FnV = 0
[ 80.713652] EA = 0, S1PTW = 0
[ 80.716782] Data abort info:
[ 80.719653] ISV = 0, ISS = 0x00000004
[ 80.723475] CM = 0, WnR = 0
[ 80.726440] user pgtable: 4k pages, 48-bit VAs, pgdp=000000004ce16000
[ 80.732855] [0000000000000030] pgd=0000000000000000, p4d=0000000000000000
[ 80.739637] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
[ 80.739642] Modules linked in: vspm_if(O) vspm(O) uvcs_drv(O) sitronix_ts(O) mmngrbuf(O) mmngr(O) mali_kbase(O) cc33xx_sdio(O) cc33xx(O) mac80211 libarc4 cfg80211 btti_sdio(O) btti(O)
[ 80.739698] CPU: 1 PID: 341 Comm: kworker/u4:17 Tainted: G W O 5.10.201-cip41-yocto-standard #1
[ 80.739701] Hardware name: Renesas SMARC EVK based on r9a07g044l2 (DT)
[ 80.739722] Workqueue: events_unbound async_run_entry_fn
[ 80.739731] pstate: 60c00005 (nZCv daif +PAN +UAO -TCO BTYPE=--)
[ 80.739745] pc : btti_sdio_if_resume+0x74/0x100 [btti_sdio]
[ 80.739750] lr : btti_sdio_if_resume+0x48/0x100 [btti_sdio]
[ 80.739753] sp : ffff80001a8a3cc0
[ 80.739756] x29: ffff80001a8a3cc0 x28: ffff800011187000
[ 80.739762] x27: ffff000009808070 x26: ffff000009808020
[ 80.739769] x25: 0000000000000000 x24: ffff00000ce2c328
[ 80.739774] x23: ffff000009805000 x22: ffff000009adc088
[ 80.739780] x21: 0000000000000010 x20: ffff000009adc000
[ 80.739786] x19: 0000000000000000 x18: 0000000000000010
[ 80.739791] x17: 0000000000000000 x16: 000000001c200000
[ 80.739797] x15: ffff000034d964a0 x14: 0000000000000232
[ 80.739802] x13: ffff000034d964a0 x12: 00000000ffffffea
[ 80.739808] x11: ffff800011212820 x10: ffff8000111fa7e0
[ 80.739813] x9 : ffff8000111fa838 x8 : 0000000000017fe8
[ 80.739819] x7 : c0000000ffffefff x6 : 0000000000000001
[ 80.739824] x5 : 0000000000000000 x4 : ffff00003fdf68e8
[ 80.739829] x3 : ffff00003fdfd840 x2 : 0000000000000001
[ 80.739835] x1 : ffff00000a9d4280 x0 : ffff800008b9c1f8
[ 80.739841] Call trace:
[ 80.739848] btti_sdio_if_resume+0x74/0x100 [btti_sdio]
[ 80.739858] pm_generic_resume+0x2c/0x48
[ 80.739864] dpm_run_callback.isra.0+0x20/0x78
[ 80.739868] device_resume+0x78/0x160
[ 80.739873] async_resume+0x28/0x60
[ 80.739878] async_run_entry_fn+0x44/0x128
[ 80.739886] process_one_work+0x1bc/0x358
[ 80.739891] worker_thread+0x50/0x440
[ 80.739896] kthread+0x140/0x160
[ 80.739903] ret_from_fork+0x10/0x30
[ 80.739912] Code: f9400413 3900883f d0000000 9107e000 (f9401a61)
[ 80.739919] ---[ end trace 4e6e5a6eb9da5756 ]---
I would like to ask for your help in analyzing this issue. Thank you.