Issue with mmc after resume from mem power mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue with mmc after resume from mem power mode

Jump to solution
1,212 Views
arthur_rythm
Contributor III

Hi,

I am using a imx6ull custom board with rel_imx_4.1.15_2.1.0_ga kernel from freescale git repository.

I would like to use the mem/freeze power mode on my board.

I am able to use the push button or alarm to wake up my board after calling echo mem/freeze > /sys/power/state.

Problem is that after the resume I get some kernel message error. I am no more able to shutdown the board properly. I tried to remove all the kernel module, remove some extra driver, etc.. Same result.

Is there something to add in my kernel config to be able to work with this feature in a proper way ?

Log result :

# sync
# echo +10 > /sys/class/rtc/rtc1/wakealarm
# sync
# echo freeze > /sys/power/state PM: Syncing filesystems ...
done.
set_high_bus_freq begin..
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 50.131 msecs
PM: suspend devices took 0.051 seconds
PM: late suspend of devices complete after 1.349 msecs
PM: noirq suspend of devices complete after 1.137 msecs
PM: noirq resume of devices complete after 0.913 msecs
PM: early resume of devices complete after 0.874 msecs
mmc1: error -110 during resume (card was removed?)
PM: resume of devices complete after 293.870 msecs
PM: resume devices took 0.295 seconds
Restarting tasks ... done.
#
#
# sync

mmc1: Timeout waiting for hardware interrupt.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/mmc/host/sdhci.c:1008 sdhci_send_command+0xcf0/0xea0()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 4.1.15 #2
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[<800144bc>] (unwind_backtrace) from [<800121ec>] (show_stack+0x10/0x14)
[<800121ec>] (show_stack) from [<80034444>] (warn_slowpath_common+0x80/0xac)
[<80034444>] (warn_slowpath_common) from [<8003450c>] (warn_slowpath_null+0x1c/0x24)
[<8003450c>] (warn_slowpath_null) from [<8044dfac>] (sdhci_send_command+0xcf0/0xea0)
[<8044dfac>] (sdhci_send_command) from [<8045043c>] (sdhci_timeout_timer+0x9c/0xe8)
[<8045043c>] (sdhci_timeout_timer) from [<8006ccd8>] (call_timer_fn+0x24/0x98)
[<8006ccd8>] (call_timer_fn) from [<8006d110>] (run_timer_softirq+0x214/0x2d0)
[<8006d110>] (run_timer_softirq) from [<80036dbc>] (__do_softirq+0xe8/0x23c)
[<80036dbc>] (__do_softirq) from [<800371b0>] (irq_exit+0xc0/0xfc)
[<800371b0>] (irq_exit) from [<8005f628>] (__handle_domain_irq+0x74/0xd8)
[<8005f628>] (__handle_domain_irq) from [<80009470>] (gic_handle_irq+0x24/0x54)
[<80009470>] (gic_handle_irq) from [<80012cc0>] (__irq_svc+0x40/0x74)
Exception stack(0x80913f20 to 0x80913f68)
3f20: 80913f68 fffffff7 034ebd3c 0000000f 02ab93b4 0000000f 8091a69c 00000000
3f40: 8094d598 00000000 034ebd3c 0000000f 00000017 80913f68 80072f9c 80438390
3f60: 60000013 ffffffff
[<80012cc0>] (__irq_svc) from [<80438390>] (cpuidle_enter_state+0x6c/0x190)
[<80438390>] (cpuidle_enter_state) from [<80057ce4>] (cpu_startup_entry+0x180/0x294)
[<80057ce4>] (cpu_startup_entry) from [<808bcbe8>] (start_kernel+0x338/0x344)
---[ end trace 22d406fca1fddfa7 ]---
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, aborting
blk_update_request: I/O error, dev mmcblk1, sector 642054
Buffer I/O error on dev mmcblk1p6, logical block 143875, lost async page write
mmc1: Timeout waiting for hardware interrupt.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/mmc/host/sdhci.c:1008 sdhci_send_command+0xcf0/0xea0()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: G W 4.1.15 #2
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[<800144bc>] (unwind_backtrace) from [<800121ec>] (show_stack+0x10/0x14)
[<800121ec>] (show_stack) from [<80034444>] (warn_slowpath_common+0x80/0xac)
[<80034444>] (warn_slowpath_common) from [<8003450c>] (warn_slowpath_null+0x1c/0x24)
[<8003450c>] (warn_slowpath_null) from [<8044dfac>] (sdhci_send_command+0xcf0/0xea0)
[<8044dfac>] (sdhci_send_command) from [<8045043c>] (sdhci_timeout_timer+0x9c/0xe8)
[<8045043c>] (sdhci_timeout_timer) from [<8006ccd8>] (call_timer_fn+0x24/0x98)
[<8006ccd8>] (call_timer_fn) from [<8006d110>] (run_timer_softirq+0x214/0x2d0)
[<8006d110>] (run_timer_softirq) from [<80036dbc>] (__do_softirq+0xe8/0x23c)
[<80036dbc>] (__do_softirq) from [<800371b0>] (irq_exit+0xc0/0xfc)
[<800371b0>] (irq_exit) from [<8005f628>] (__handle_domain_irq+0x74/0xd8)
[<8005f628>] (__handle_domain_irq) from [<80009470>] (gic_handle_irq+0x24/0x54)
[<80009470>] (gic_handle_irq) from [<80012cc0>] (__irq_svc+0x40/0x74)
Exception stack(0x80913f20 to 0x80913f68)
3f20: 80913f68 fffffff7 63c07925 00000011 62fdc6b2 00000011 8091a6ec 00000000
3f40: 8094d598 00000001 63c07925 00000011 00000017 80913f68 80072f9c 80438390
3f60: 60000013 ffffffff
[<80012cc0>] (__irq_svc) from [<80438390>] (cpuidle_enter_state+0x6c/0x190)
[<80438390>] (cpuidle_enter_state) from [<80057ce4>] (cpu_startup_entry+0x180/0x294)
[<80057ce4>] (cpu_startup_entry) from [<808bcbe8>] (start_kernel+0x338/0x344)
---[ end trace 22d406fca1fddfa8 ]---
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, aborting
blk_update_request: I/O error, dev mmcblk1, sector 5091352
blk_update_request: I/O error, dev mmcblk1, sector 5091360
EXT4-fs warning (device mmcblk1p10): ext4_end_bio:332: I/O error -5 writing to inode 36 (offset 57344 size 4096 starting block 636421)
Buffer I/O error on device mmcblk1p10, logical block 39939
Buffer I/O error on device mmcblk1p10, logical block 39940
mmc1: Timeout waiting for hardware interrupt.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/mmc/host/sdhci.c:1008 sdhci_send_command+0xcf0/0xea0()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: G W 4.1.15 #2
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[<800144bc>] (unwind_backtrace) from [<800121ec>] (show_stack+0x10/0x14)
[<800121ec>] (show_stack) from [<80034444>] (warn_slowpath_common+0x80/0xac)
[<80034444>] (warn_slowpath_common) from [<8003450c>] (warn_slowpath_null+0x1c/0x24)
[<8003450c>] (warn_slowpath_null) from [<8044dfac>] (sdhci_send_command+0xcf0/0xea0)
[<8044dfac>] (sdhci_send_command) from [<8045043c>] (sdhci_timeout_timer+0x9c/0xe8)
[<8045043c>] (sdhci_timeout_timer) from [<8006ccd8>] (call_timer_fn+0x24/0x98)
[<8006ccd8>] (call_timer_fn) from [<8006d110>] (run_timer_softirq+0x214/0x2d0)
[<8006d110>] (run_timer_softirq) from [<80036dbc>] (__do_softirq+0xe8/0x23c)
[<80036dbc>] (__do_softirq) from [<800371b0>] (irq_exit+0xc0/0xfc)
[<800371b0>] (irq_exit) from [<8005f628>] (__handle_domain_irq+0x74/0xd8)
[<8005f628>] (__handle_domain_irq) from [<80009470>] (gic_handle_irq+0x24/0x54)
[<80009470>] (gic_handle_irq) from [<80012cc0>] (__irq_svc+0x40/0x74)
Exception stack(0x80913f20 to 0x80913f68)
3f20: 80913f68 fffffff7 c61a77d9 00000013 bf626d1e 00000013 8091a73c 00000000
3f40: 8094d598 00000002 c61a77d9 00000013 00000017 80913f68 80072f9c 80438390
3f60: 60000013 ffffffff
[<80012cc0>] (__irq_svc) from [<80438390>] (cpuidle_enter_state+0x6c/0x190)
[<80438390>] (cpuidle_enter_state) from [<80057ce4>] (cpu_startup_entry+0x180/0x294)
[<80057ce4>] (cpu_startup_entry) from [<808bcbe8>] (start_kernel+0x338/0x344)
---[ end trace 22d406fca1fddfa9 ]---
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, retrying
mmcblk1: error -110 sending status command, aborting
blk_update_request: I/O error, dev mmcblk1, sector 5820496
blk_update_request: I/O error, dev mmcblk1, sector 5820504
blk_update_request: I/O error, dev mmcblk1, sector 5820512
blk_update_request: I/O error, dev mmcblk1, sector 5820520
Aborting journal on device mmcblk1p10-8.
mmc1: Timeout waiting for hardware interrupt.

Thanks,

Arthur.

Labels (2)
0 Kudos
1 Solution
5 Replies
830 Views
igorpadykov
NXP Employee
NXP Employee

Hi Arthur

is it working with Demo Images and using sect.2.3.1.3 Unit Test

attached Linux Manual.

https://www.nxp.com/webapp/Download?colCode=L4.1.15_2.0.0_iMX6ULL&appType=license&location=null 

I am afraid "freeze" power mode is not supported in nxp linux bsps.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
830 Views
arthur_rythm
Contributor III

Hi Igor,

I am currently working on a custom board.

I tried the following test with my custom board :

Use the official kernel from freescale without any change : git://git.freescale.com/imx/linux-imx.git

git tag : rel_imx_4.1.15_2.1.0_ga

The official defconfig for imx : imx_v7_defconfig

device tree from mx6ull evk : imx6ull-14x14-evk.dtb

I run the test with mem and standup. Exactly the same issue.

It is the right kernel source tree to use when you are talking about the demo image ?

0 Kudos
830 Views
arthur_rythm
Contributor III

igorpadykov‌ Is it possible to confirm me the kernel tree, kernel config and device tree used in that manual to run the test on my board in the same condition.

Thanks,

Arthur.

0 Kudos
830 Views
arthur_rythm
Contributor III

Hi Igor,

Sorry for the delay I was out of office for few weeks

So I finally run the test with official kernel from freescale (no modification at all) + imx6ull evk

Its working perfectly !

Now on my custom board its is working also with the same kernel, device tree, rootfs etc..

By just adding a change in kernel configuration I have the original error.

On my custom board I am setting the CONFIG_MMC_BLOCK_MINORS to 11 instead of 8.

Do you see a reason to have the crash with this change in my kernel defconfig?

Thanks,

Arthur.

0 Kudos