To evaluate low-power modes of the IMX6ULL, I downloaded the latest console image through the Toradex EZ installer.
But when go into suspend and resume, I run into a lot of kernel errors.
Most of these are due to bluetooth (which is not supported on my module anyway), but also ethernet complains (see logs below in attachment here).
Is this a known issue?
Attachment snip:
root@colibri-imx6ull:~# echo mem > /sys/power/state
[ 107.135964] PM: Syncing filesystems ... done.
[ 107.183692] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 107.209819] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 107.253643] Suspending console(s) (use no_console_suspend to debug)
[ 107.379384] ------------[ cut here ]------------
[ 107.379421] WARNING: CPU: 0 PID: 291 at /workdir/oe/tmp-glibc/work-shared/colibri-imx6ull/kernel-source/drivers/clk/clk.c:594 clk_core_disable+0x8c/0x90
[ 107.379451] Modules linked in: bluetooth(O) compat(O) usb_f_rndis u_ether mcp251x can_dev libcomposite configfs
[ 107.379463] CPU: 0 PID: 291 Comm: sh Tainted: G W O 4.9.144-2.8.5+g5758a8e648a3 #1
[ 107.379468] Hardware name: Freescale i.MX6 UltraLite (Device Tree)
[ 107.379473] Backtrace:
[ 107.379489] [<8010ba4c>] (dump_backtrace) from [<8010bd24>] (show_stack+0x18/0x1c)
[ 107.379499] r7:00000009 r6:60000093 r5:00000000 r4:80c1cab0
[ 107.379511] [<8010bd0c>] (show_stack) from [<8042fca4>] (dump_stack+0x90/0xa4)
[ 107.379524] [<8042fc14>] (dump_stack) from [<80125270>] (__warn+0xec/0x104)
[ 107.379533] r7:00000009 r6:809a6bec r5:00000000 r4:00000000
[ 107.379548] [<80125184>] (__warn) from [<80125340>] (warn_slowpath_null+0x28/0x30)
..
..
[ 107.383362] PM: suspend of devices complete after 105.413 msecs
[ 107.385011] PM: late suspend of devices complete after 1.625 msecs
[ 107.386547] PM: noirq suspend of devices complete after 1.514 msecs
[ 107.386554] Disabling non-boot CPUs ...
[ 107.387783] PM: noirq resume of devices complete after 1.098 msecs
[ 107.389336] PM: early resume of devices complete after 1.248 msecs
[ 107.391141] gpmi-nand 1806000.gpmi-nand: mode:5 ,failed in set feature.
[ 107.403090] Suspended for 10.988 seconds
[ 107.471227] PM: resume of devices complete after 81.861 msecs
[ 108.597548] fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 119.264035] Restarting tasks ... done.
root@colibri-imx6ull:~#
root@colibri-imx6ull:~#
root@colibri-imx6ull:~#
root@colibri-imx6ull:~# [ 123.902177] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.916536] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.927360] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.937457] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.947285] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.956999] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.966883] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.976553] fec 20b4000.ethernet eth0: rcv is not +last
[ 123.986215] fec 20b4000.ethernet eth0: rcv is not +last
[ 124.452479] fec 20b4000.ethernet eth0: rcv is not +last
I just typed an entire post explaining how I fixed the issue, but when submitting it Toradex told me “attack detected - could not issue request”. K guys, fine
The issue was that drivers/mmc/host/sdhci-esdhc-imx.c tried to disable clocks twice. In the upstream v5.0 kernel, this behavior is different, and I ported it. This fixes the issue for me. (This is the short explanation)