#12440 LOW 13.1.0: no_console_suspend doesn't work on XO-4
Zarro Boogs per Child
bugtracker at laptop.org
Sun Jan 6 08:32:37 EST 2013
#12440: no_console_suspend doesn't work on XO-4
--------------------+-------------------------------------------------------
Reporter: dsd | Owner: cjb
Type: defect | Status: new
Priority: low | Milestone: 13.1.0
Component: kernel | Version: not specified
Keywords: | Next_action: diagnose
Verified: 0 | Deployment_affected:
Blockedby: | Blocking:
--------------------+-------------------------------------------------------
no_console_suspend can be handy for suspend/resume work. It's not working
right on XO-4.
When resuming, the console history is repeated over the serial port.
{{{
[ 64.822302] mmp3_pm_enter_d2 8
[ 64.825556] mmp3_pm_enter_d2 9
[ 64.818288] mmp3_pm_enter_d2 7
[ 64.828732] mmp3_pm_enter_d2 10
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.5.7_xo4-20121231.0709.olpc.868db60
(mockbuild at koji3.laptop.org) (gcc version 4.7.2 20121109 (Red Hat 4.7.2-8)
(GCC) ) #1 PREEMPT Mon Dec 31 07:21:08 EST 2012
[ 0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[ 0.000000] Machine: Marvell MMP2 (Device Tree Support), model: 4C2
}}}
Having repeated everything, you see the resume messages, then the system
crashes with an endless flood of scheduling while atomic errors.
{{{
[ 64.818288] before suspend
[ 64.818288] mmp3_pm_enter_d2 7
[ 64.828732] mmp3_pm_enter_d2 10
[ 64.843600] after resume
[ 64.859412] PM: noirq resume of devices complete after 0.001 msecs
[ 64.883636] olpc-ec-1.75: received interrupt without data waiting:
0xf204
[ 64.890965] PM: early resume of devices complete after 7.328 msecs
[ 64.897428] ec_irq
[ 64.902461] BUG: scheduling while atomic: bash/367/0x00000002
[ 64.937125] [<c00157a4>] (unwind_backtrace+0x0/0x128) from [<c0417774>]
(dump_stack+0x20/0x24)
[ 64.937142] [<c0417774>] (dump_stack+0x20/0x24) from [<c0417df4>]
(__schedule_bug+0x54/0x68)
[ 64.937142] [<c0417df4>] (__schedule_bug+0x54/0x68) from [<c041c588>]
(__schedule+0x64/0x458)
[ 64.937159] [<c041c588>] (__schedule+0x64/0x458) from [<c041cf4c>]
(schedule+0x94/0x98)
[ 64.937173] [<c041cf4c>] (schedule+0x94/0x98) from [<c041b140>]
(schedule_timeout+0x28/0x304)
[ 64.937186] [<c041b140>] (schedule_timeout+0x28/0x304) from
[<c041cb5c>] (wait_for_common+0xd0/0x1b4)
[ 64.937199] [<c041cb5c>] (wait_for_common+0xd0/0x1b4) from [<c041cc60>]
(wait_for_completion+0x20/0x24)
[ 64.937212] [<c041cc60>] (wait_for_completion+0x20/0x24) from
[<c02bdfd4>] (mmc_wait_for_req_done+0x30/0xd0)
[ 64.937245] [<c02bdfd4>] (mmc_wait_for_req_done+0x30/0xd0) from
[<c02be6fc>] (mmc_wait_for_req+0x2c/0x30)
[ 64.945463] [<c02be6fc>] (mmc_wait_for_req+0x2c/0x30) from [<c02be77c>]
(mmc_wait_for_cmd+0x7c/0x8c)
[ 64.956241] [<c02be77c>] (mmc_wait_for_cmd+0x7c/0x8c) from [<c02c7734>]
(mmc_io_rw_direct_host+0xc8/0x138)
[ 67.658905] Modules linked in: fuse xt_tcpudp iptable_filter ip_tables
x_tables btmrvl_sdio btmrvl uinput bluetooth mwifiex joydev psmouse
videobuf2_dma_sg videobuf2_vmalloc videobuf2_memops videobuf2_core
mousedev zforce syscopyarea sysfillrect sysimgblt fb_sys_fops sisusbvga
siv120d [last unloaded: mmp_camera]
[ 64.962478] [<c02c7734>] (mmc_io_rw_direct_host+0xc8/0x138) from
[<c02c78b4>] (mmc_io_rw_direct+0x3c/0x44)
[ 64.962478] [<c02c78b4>] (mmc_io_rw_direct+0x3c/0x44) from [<c02c94a0>]
(sdio_writeb+0x4c/0x5c)
[ 64.976799] [<c02c94a0>] (sdio_writeb+0x4c/0x5c) from [<bf10c350>]
(btmrvl_sdio_wakeup_fw+0x64/0xa0 [btmrvl_sdio])
[ 64.980985] [<bf10c350>] (btmrvl_sdio_wakeup_fw+0x64/0xa0
[btmrvl_sdio]) from [<bf10c0ec>] (btmrvl_sdio_resume+0xec/0x13c
[btmrvl_sdio])
[ 64.988785] [<bf10c0ec>] (btmrvl_sdio_resume+0xec/0x13c [btmrvl_sdio])
from [<c02c7160>] (mmc_sdio_resume+0x104/0x144)
[ 65.051917] [<c02c7160>] (mmc_sdio_resume+0x104/0x144) from
[<c02bfa2c>] (mmc_resume_host+0x104/0x1ac)
[ 65.055646] [<c02bfa2c>] (mmc_resume_host+0x104/0x1ac) from
[<c02d557c>] (sdhci_resume_host+0xbc/0x120)
[ 65.063261] [<c02d557c>] (sdhci_resume_host+0xbc/0x120) from
[<c02d7aec>] (sdhci_pxav3_resume+0x50/0x58)
[ 65.063278] [<c02d7aec>] (sdhci_pxav3_resume+0x50/0x58) from
[<c023112c>] (platform_pm_resume+0x50/0x5c)
[ 65.067881] [<c023112c>] (platform_pm_resume+0x50/0x5c) from
[<c0236480>] (dpm_run_callback+0x54/0x90)
[ 65.086101] [<c0236480>] (dpm_run_callback+0x54/0x90) from [<c023736c>]
(device_resume+0x154/0x1b4)
[ 65.090874] [<c023736c>] (device_resume+0x154/0x1b4) from [<c023797c>]
(dpm_resume+0x104/0x24c)
[ 65.095561] [<c023797c>] (dpm_resume+0x104/0x24c) from [<c0237ca0>]
(dpm_resume_end+0x1c/0x28)
[ 65.095578] [<c0237ca0>] (dpm_resume_end+0x1c/0x28) from [<c0056d84>]
(suspend_devices_and_enter+0x230/0x33c)
[ 65.106106] [<c0056d84>] (suspend_devices_and_enter+0x230/0x33c) from
[<c0056f8c>] (pm_suspend+0xfc/0x218)
[ 65.112503] [<c0056f8c>] (pm_suspend+0xfc/0x218) from [<c0055f38>]
(state_store+0xac/0xc8)
[ 65.115957] [<c0055f38>] (state_store+0xac/0xc8) from [<c01d11b0>]
(kobj_attr_store+0x1c/0x28)
[ 65.115957] [<c01d11b0>] (kobj_attr_store+0x1c/0x28) from [<c0134824>]
(sysfs_write_file+0x110/0x158)
[ 65.127650] [<c0134824>] (sysfs_write_file+0x110/0x158) from
[<c00d36bc>] (vfs_write+0xbc/0x148)
[ 65.131806] [<c00d36bc>] (vfs_write+0xbc/0x148) from [<c00d3950>]
(sys_write+0x48/0x7c)
[ 65.140112] [<c00d3950>] (sys_write+0x48/0x7c) from [<c000ecc0>]
(ret_fast_syscall+0x0/0x30)
}}}
I had a quick look at some functions in that trace, and I can't see where
atomic context would be entered.
--
Ticket URL: <http://dev.laptop.org/ticket/12440>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list