#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