Tool/software: Linux
Hello TI team,
we have created a custom AM5728 SOM and baseboard.
In the process of creating the U-Boot and Linux BSP, we have encountered the following problem:
We are testing suspend and wakeup functionality. Upon waking up, kernel shows an error message involving pci_restore.
root@tqma572x-mba57xx:~# echo -n freeze > /sys/power/state
[ 14.690323] PM: Syncing filesystems ... done.
[ 14.744965] Freezing user space processes ... [ 14.750629] (elapsed 0.001 seconds) done.
[ 14.754674] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 14.774960] PM: suspend of devices complete after 10.100 msecs
[ 14.784138] PM: late suspend of devices complete after 3.314 msecs
[ 14.793387] PM: noirq suspend of devices complete after 2.998 msecs
<< push gpio button or keyboard button >>
[ 18.662299] Unable to handle kernel NULL pointer dereference at virtual address 00000028
[ 18.670472] pgd = c0003000
[ 18.673219] [00000028] *pgd=80000080004003, *pmd=00000000
[ 18.678679] Internal error: Oops: 207 [#1] PREEMPT SMP ARM
[ 18.684185] Modules linked in:
[ 18.687262] CPU: 0 PID: 303 Comm: kworker/u4:2 Not tainted 4.9.77-rt61-03208-g2b96d14-dirty #57
[ 18.695995] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 18.702121] Workqueue: events_unbound async_run_entry_fn
[ 18.707462] task: edfdba80 task.stack: eddac000
[ 18.712015] PC is at pci_restore_msi_state+0x178/0x1fc
[ 18.717176] LR is at pci_bus_read_config_word+0x84/0x90
[ 18.722425] pc : [<c053cef8>] lr : [<c051e734>] psr: 60070013
[ 18.722425] sp : eddaddd0 ip : eddadd98 fp : eddaddf4
[ 18.733953] r10: c1003d00 r9 : 00000000 r8 : ee072068
[ 18.739200] r7 : ee0723dc r6 : 11f8dc20 r5 : ee072000 r4 : 00000000
[ 18.745755] r3 : 00000000 r2 : 00000000 r1 : 60070013 r0 : 00000000
[ 18.752311] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 18.759476] Control: 30c5387d Table: add31bc0 DAC: fffffffd
[ 18.765246] Process kworker/u4:2 (pid: 303, stack limit = 0xeddac210)
[ 18.771714] Stack: (0xeddaddd0 to 0xeddae000)
[ 18.776089] ddc0: ee0723dc 0080002c 11f8dc20 00000000
[ 18.784302] dde0: ee072000 11f8dc20 eddade14 eddaddf8 c0526b54 c053cd8c c10254fc ee072000
[ 18.792514] de00: ee072068 00000000 eddade24 eddade18 c0526c84 c0526a48 eddade44 eddade28
[ 18.800728] de20: c052b8d0 c0526c74 00000001 c052b8a8 00000000 00000000 eddade7c eddade48
[ 18.808940] de40: c05f5a10 c052b8b4 00000000 c1003d00 00000000 00000000 c08c29e4 00000001
[ 18.817150] de60: ee072068 00000010 ee807d00 00000000 eddade9c eddade80 c05f5b30 c05f59e0
[ 18.825362] de80: c108c868 ee072068 edf3b980 ee807d00 eddadeb4 eddadea0 c05f5c1c c05f5ab0
[ 18.833573] dea0: edf3b990 c1050020 eddadedc eddadeb8 c024e04c c05f5c04 00000000 c1003d00
[ 18.841786] dec0: edf3b990 edeeaa80 ee804a00 ee807d00 eddadf14 eddadee0 c0244ca0 c024e008
[ 18.849998] dee0: eddadefc eddadef0 c024613c edeeaa80 ee804a00 edeeaa98 ee804a18 ffffe000
[ 18.858212] df00: 00000088 c1003d00 eddadf54 eddadf18 c0245bb8 c0244ad0 c0b91384 c10163b4
[ 18.866424] df20: c104e566 ee804a00 00000000 00000000 edf3b280 eddac000 edeeaa80 c0245b50
[ 18.874636] df40: 00000000 00000000 eddadfac eddadf58 c024ad74 c0245b5c eddadf58 00000000
[ 18.882849] df60: 000ab010 edeeaa80 00000000 00000000 eddadf70 eddadf70 00000000 00000000
[ 18.891062] df80: eddadf80 eddadf80 eddadfac edf3b280 c024ac64 00000000 00000000 00000000
[ 18.899274] dfa0: 00000000 eddadfb0 c0207de8 c024ac70 00000000 00000000 00000000 00000000
[ 18.907485] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 18.915698] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 e3530c32 1a00002e
[ 18.923906] Backtrace:
[ 18.926378] [<c053cd80>] (pci_restore_msi_state) from [<c0526b54>] (pci_restore_state.part.26+0x118/0x22c)
[ 18.936072] r6:11f8dc20 r5:ee072000 r4:00000000
[ 18.940713] [<c0526a3c>] (pci_restore_state.part.26) from [<c0526c84>] (pci_restore_state+0x1c/0x20)
[ 18.949883] r7:00000000 r6:ee072068 r5:ee072000 r4:c10254fc
[ 18.955572] [<c0526c68>] (pci_restore_state) from [<c052b8d0>] (pci_pm_resume_noirq+0x28/0x9c)
[ 18.964227] [<c052b8a8>] (pci_pm_resume_noirq) from [<c05f5a10>] (dpm_run_callback+0x3c/0xd0)
[ 18.972789] r7:00000000 r6:00000000 r5:c052b8a8 r4:00000001
[ 18.978473] [<c05f59d4>] (dpm_run_callback) from [<c05f5b30>] (device_resume_noirq+0x8c/0x154)
[ 18.987122] r8:00000000 r7:ee807d00 r6:00000010 r5:ee072068 r4:00000001
[ 18.993855] [<c05f5aa4>] (device_resume_noirq) from [<c05f5c1c>] (async_resume_noirq+0x24/0x4c)
[ 19.002590] r7:ee807d00 r6:edf3b980 r5:ee072068 r4:c108c868
[ 19.008277] [<c05f5bf8>] (async_resume_noirq) from [<c024e04c>] (async_run_entry_fn+0x50/0x120)
[ 19.017011] r5:c1050020 r4:edf3b990
[ 19.020603] [<c024dffc>] (async_run_entry_fn) from [<c0244ca0>] (process_one_work+0x1dc/0x3f8)
[ 19.029250] r7:ee807d00 r6:ee804a00 r5:edeeaa80 r4:edf3b990
[ 19.034933] [<c0244ac4>] (process_one_work) from [<c0245bb8>] (worker_thread+0x68/0x5c0)
[ 19.043060] r10:c1003d00 r9:00000088 r8:ffffe000 r7:ee804a18 r6:edeeaa98 r5:ee804a00
[ 19.050920] r4:edeeaa80
[ 19.053466] [<c0245b50>] (worker_thread) from [<c024ad74>] (kthread+0x110/0x118)
[ 19.060896] r10:00000000 r9:00000000 r8:c0245b50 r7:edeeaa80 r6:eddac000 r5:edf3b280
[ 19.068755] r4:00000000
[ 19.071305] [<c024ac64>] (kthread) from [<c0207de8>] (ret_from_fork+0x14/0x2c)
[ 19.078557] r8:00000000 r7:00000000 r6:00000000 r5:c024ac64 r4:edf3b280
[ 19.085289] Code: e24b301e e2822002 e5950008 ebff85ed (e5d43028)
[ 19.091463] ---[ end trace 6f217160e2d510fe ]---
< hang >
In U-Boot no_console_suspend=1 is passed to the kernel.
How should I debug this?
We are using ti-rt-linux-4.9.y from git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
and mainline denx u-boot 2018.01.
See attached our device tree and defconfig:
/cfs-file/__key/communityserver-discussions-components-files/791/5277.tqma57xx_5F00_defconfig.txt
/cfs-file/__key/communityserver-discussions-components-files/791/4520.tqma572x.dtsi.txt
/cfs-file/__key/communityserver-discussions-components-files/791/2061.tqma572x_2D00_mba57xx.dts.txt
(I had to rename the files to a .txt ending do to .dts ending beeing blocked with inserted files here)
Best regards,
Stefan

