-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
Linux Core SDK
-
LCPD-43307
-
11.00
-
11.01
-
Platforms that use the pmic and are affected are:
$ rg "tps65219" arch/arm64/boot/dts/ti/k3-am62* arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts 157: tps65219: pmic@30 { 159: compatible = "ti,tps65219";arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts 688: tps65219: pmic@30 { 690: compatible = "ti,tps65219";
I tried both on beagleplay and the am62-lp-sk, I am seeing that we fail to suspend atall after these 2 prints:
root@BeagleBone:~# echo mem > /sys/power/state
[ 103.277398] PM: suspend entry (deep)
[ 103.333629] Filesystems sync: 0.052 seconds
[ 124.351301] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 124.357420] rcu: 2-...0: (3 ticks this GP) idle=8244/1/0x4000000000000000 softirq=5086/5086 fqs=2535
[ 124.366629] rcu: (detected by 1, t=5252 jiffies, g=7077, q=470 ncpus=4)
After connecting an external debugger, I was able to find out that it was stuck in dev_cache_fw_images which was going through devres_for_each_res and looping through the pmic@30 device. This caused device to be stuck which trying to suspend.