[Gta04-owner] Suspend / Resume on 3.12.0
Dr. H. Nikolaus Schaller
hns at goldelico.com
Sat Nov 16 14:43:14 CET 2013
Am 14.11.2013 um 22:21 schrieb Benjamin Deering:
> On 11/14/2013 12:36 PM, Dr. H. Nikolaus Schaller wrote:
>>
>> Ok, I have reverted this in the 3.12.0 kernel. Maybe it conflicts with the
>> 3.12 kernel?
>>
>> But I still have a problem with mmc1 (WiFi):
>>
>> echo mem> /sys/power/state
>>
>> [ 462.113830] PM: Syncing filesystems ... done.
>> [ 462.190917] Freezing user space processes ... (elapsed 0.001 seconds) done.
>> [ 462.201293] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
>> [ 462.210693] Suspending console(s) (use no_console_suspend to debug)
>> [ 462.218627] dpm_run_callback(): mmc_bus_suspend+0x0/0x44 returns -38
>> [ 462.218750] PM: Device mmc1:0001 failed to suspend: error -38
>> [ 462.218780] PM: Some devices failed to suspend, or early wake event detected
>> [ 462.219146] PM: resume of devices complete after 0.335 msecs
>> [ 462.246551] Restarting tasks ... done.
>>
>> BTW: a description about OMAP3 power management can be found here:
>>
>> http://elinux.org/OMAP_Power_Management
>>
>> The only thing to note is that some /sys nodes have moved and changed.
>>
>> BR,
>> Nikolaus
>>
>> _______________________________________________
>> Gta04-owner mailing list
>> Gta04-owner at goldelico.com
>> http://lists.goldelico.com/mailman/listinfo/gta04-owner
>>
> I applied this hack: http://git.neil.brown.name/?p=gta04.git;a=commit;h=da9b70a32f5b7ca53d89840ace01c2471c76ef69 to my build a while ago to make it suspend. It look like it just ignores an error condition. I haven't looked at why there is an error condition.
I have now applied it as well - and the GTA04 suspends once, but with a lot of problems. A second suspend gives an error message.
[ 276.906585] PM: Syncing filesystems ... done.
[ 279.204620] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 279.214965] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 279.224151] Suspending console(s) (use no_console_suspend to debug)
[ 279.232696] si47xx_suspend
[ 279.360504] PM: suspend of devices complete after 128.535 msecs
[ 279.361602] PM: late suspend of devices complete after 1.098 msecs
[ 279.363494] GPS SET to 0
[ 279.363677] PM: noirq suspend of devices complete after 2.075 msecs
[ 279.363861] Successfully put all powerdomains to target state
[ 279.389801] GPS SET to 0
[ 279.395385] PM: noirq resume of devices complete after 31.340 msecs
[ 279.395965] In-band Error seen by MPU at address 0
[ 279.395996] ------------[ cut here ]------------
[ 279.396026] WARNING: CPU: 0 PID: 2006 at drivers/bus/omap_l3_smx.c:162 omap3_l3_app_irq+0xd4/0x118()
[ 279.396148] Modules linked in: ipv6 bnep rfcomm bluetooth usb_f_ecm g_ether usb_f_rndis u_rndis u_ether libcomposite configfs ov9655 libertas_sdio libertas omap3_isp lib80211 omap_iovmm v4l2_common cfg80211 videodev media
[ 279.396179] CPU: 0 PID: 2006 Comm: bash Not tainted 3.12.0-gta04 #213
[ 279.396240] [<c00120a4>] (unwind_backtrace+0x0/0xe0) from [<c0010388>] (show_stack+0x10/0x14)
[ 279.396301] [<c0010388>] (show_stack+0x10/0x14) from [<c002edf8>] (warn_slowpath_common+0x60/0x80)
[ 279.396331] [<c002edf8>] (warn_slowpath_common+0x60/0x80) from [<c002ee30>] (warn_slowpath_null+0x18/0x1c)
[ 279.396362] [<c002ee30>] (warn_slowpath_null+0x18/0x1c) from [<c0204a24>] (omap3_l3_app_irq+0xd4/0x118)
[ 279.396392] [<c0204a24>] (omap3_l3_app_irq+0xd4/0x118) from [<c005a614>] (handle_irq_event_percpu+0x3c/0x198)
[ 279.396423] [<c005a614>] (handle_irq_event_percpu+0x3c/0x198) from [<c005a7c8>] (handle_irq_event+0x58/0x74)
[ 279.396453] [<c005a7c8>] (handle_irq_event+0x58/0x74) from [<c005cdfc>] (handle_level_irq+0xd4/0x10c)
[ 279.396514] [<c005cdfc>] (handle_level_irq+0xd4/0x10c) from [<c0059f78>] (generic_handle_irq+0x20/0x30)
[ 279.396545] [<c0059f78>] (generic_handle_irq+0x20/0x30) from [<c000e2c4>] (handle_IRQ+0x60/0x84)
[ 279.396575] [<c000e2c4>] (handle_IRQ+0x60/0x84) from [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68)
[ 279.396606] [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68) from [<c0010b80>] (__irq_svc+0x40/0x70)
[ 279.396606] Exception stack(0xde747e20 to 0xde747e68)
[ 279.396636] 7e20: 00000001 00000108 00000001 00000000 de746000 0000001a 60000153 00000000
[ 279.396667] 7e40: 00000010 00000000 de665800 c066a888 dd8a5040 de747e68 c00503b8 c005f158
[ 279.396667] 7e60: 20000153 ffffffff
[ 279.396728] [<c0010b80>] (__irq_svc+0x40/0x70) from [<c005f158>] (resume_irqs+0x74/0xac)
[ 279.396759] [<c005f158>] (resume_irqs+0x74/0xac) from [<c0279b14>] (dpm_resume_noirq+0x148/0x16c)
[ 279.396789] [<c0279b14>] (dpm_resume_noirq+0x148/0x16c) from [<c027a58c>] (dpm_resume_start+0xc/0x18)
[ 279.396820] [<c027a58c>] (dpm_resume_start+0xc/0x18) from [<c0056210>] (suspend_enter+0x194/0x1d4)
[ 279.396850] [<c0056210>] (suspend_enter+0x194/0x1d4) from [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110)
[ 279.396881] [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110) from [<c00563cc>] (enter_state+0x6c/0xa4)
[ 279.396911] [<c00563cc>] (enter_state+0x6c/0xa4) from [<c0056418>] (pm_suspend+0x14/0x70)
[ 279.396942] [<c0056418>] (pm_suspend+0x14/0x70) from [<c005564c>] (state_store+0x40/0x68)
[ 279.397003] [<c005564c>] (state_store+0x40/0x68) from [<c01eed40>] (kobj_attr_store+0x14/0x20)
[ 279.397033] [<c01eed40>] (kobj_attr_store+0x14/0x20) from [<c010c714>] (sysfs_write_file+0x7c/0xb0)
[ 279.397064] [<c010c714>] (sysfs_write_file+0x7c/0xb0) from [<c00ba1f4>] (vfs_write+0xd4/0x1bc)
[ 279.397094] [<c00ba1f4>] (vfs_write+0xd4/0x1bc) from [<c00ba624>] (SyS_write+0x3c/0x60)
[ 279.397125] [<c00ba624>] (SyS_write+0x3c/0x60) from [<c000da00>] (ret_fast_syscall+0x0/0x30)
[ 279.397155] ---[ end trace 6dfb71176b785b0c ]---
[ 279.397247] Address Hole seen by UNKNOWN Initiator at address c7a37d50
[ 279.397277] ------------[ cut here ]------------
[ 279.397308] WARNING: CPU: 0 PID: 2006 at drivers/bus/omap_l3_smx.c:162 omap3_l3_app_irq+0xd4/0x118()
[ 279.397399] Modules linked in: ipv6 bnep rfcomm bluetooth usb_f_ecm g_ether usb_f_rndis u_rndis u_ether libcomposite configfs ov9655 libertas_sdio libertas omap3_isp lib80211 omap_iovmm v4l2_common cfg80211 videodev media
[ 279.397399] CPU: 0 PID: 2006 Comm: bash Tainted: G W 3.12.0-gta04 #213
[ 279.397460] [<c00120a4>] (unwind_backtrace+0x0/0xe0) from [<c0010388>] (show_stack+0x10/0x14)
[ 279.397491] [<c0010388>] (show_stack+0x10/0x14) from [<c002edf8>] (warn_slowpath_common+0x60/0x80)
[ 279.397521] [<c002edf8>] (warn_slowpath_common+0x60/0x80) from [<c002ee30>] (warn_slowpath_null+0x18/0x1c)
[ 279.397552] [<c002ee30>] (warn_slowpath_null+0x18/0x1c) from [<c0204a24>] (omap3_l3_app_irq+0xd4/0x118)
[ 279.397583] [<c0204a24>] (omap3_l3_app_irq+0xd4/0x118) from [<c005a614>] (handle_irq_event_percpu+0x3c/0x198)
[ 279.397613] [<c005a614>] (handle_irq_event_percpu+0x3c/0x198) from [<c005a7c8>] (handle_irq_event+0x58/0x74)
[ 279.397674] [<c005a7c8>] (handle_irq_event+0x58/0x74) from [<c005cdfc>] (handle_level_irq+0xd4/0x10c)
[ 279.397705] [<c005cdfc>] (handle_level_irq+0xd4/0x10c) from [<c0059f78>] (generic_handle_irq+0x20/0x30)
[ 279.397735] [<c0059f78>] (generic_handle_irq+0x20/0x30) from [<c000e2c4>] (handle_IRQ+0x60/0x84)
[ 279.397766] [<c000e2c4>] (handle_IRQ+0x60/0x84) from [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68)
[ 279.397796] [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68) from [<c0010b80>] (__irq_svc+0x40/0x70)
[ 279.397796] Exception stack(0xde747d60 to 0xde747da8)
[ 279.397827] 7d60: 00000001 de747da8 80404100 00000000 00000040 00000000 de746000 c0685840
[ 279.397857] 7d80: 00000010 0000000a c0685800 c066a888 218c7fbc de747da8 c0031d38 c0032678
[ 279.397857] 7da0: 60000153 ffffffff
[ 279.397918] [<c0010b80>] (__irq_svc+0x40/0x70) from [<c0032678>] (__do_softirq+0x6c/0x180)
[ 279.397949] [<c0032678>] (__do_softirq+0x6c/0x180) from [<c003280c>] (do_softirq+0x40/0x4c)
[ 279.397979] [<c003280c>] (do_softirq+0x40/0x4c) from [<c0032a74>] (irq_exit+0x80/0xe0)
[ 279.398010] [<c0032a74>] (irq_exit+0x80/0xe0) from [<c000e2c8>] (handle_IRQ+0x64/0x84)
[ 279.398040] [<c000e2c8>] (handle_IRQ+0x64/0x84) from [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68)
[ 279.398071] [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68) from [<c0010b80>] (__irq_svc+0x40/0x70)
[ 279.398071] Exception stack(0xde747e20 to 0xde747e68)
[ 279.398101] 7e20: 00000001 00000108 00000001 00000000 de746000 0000001a 60000153 00000000
[ 279.398132] 7e40: 00000010 00000000 de665800 c066a888 dd8a5040 de747e68 c00503b8 c005f158
[ 279.398132] 7e60: 20000153 ffffffff
[ 279.398193] [<c0010b80>] (__irq_svc+0x40/0x70) from [<c005f158>] (resume_irqs+0x74/0xac)
[ 279.398223] [<c005f158>] (resume_irqs+0x74/0xac) from [<c0279b14>] (dpm_resume_noirq+0x148/0x16c)
[ 279.398254] [<c0279b14>] (dpm_resume_noirq+0x148/0x16c) from [<c027a58c>] (dpm_resume_start+0xc/0x18)
[ 279.398284] [<c027a58c>] (dpm_resume_start+0xc/0x18) from [<c0056210>] (suspend_enter+0x194/0x1d4)
[ 279.398315] [<c0056210>] (suspend_enter+0x194/0x1d4) from [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110)
[ 279.398345] [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110) from [<c00563cc>] (enter_state+0x6c/0xa4)
[ 279.398376] [<c00563cc>] (enter_state+0x6c/0xa4) from [<c0056418>] (pm_suspend+0x14/0x70)
[ 279.398406] [<c0056418>] (pm_suspend+0x14/0x70) from [<c005564c>] (state_store+0x40/0x68)
[ 279.398437] [<c005564c>] (state_store+0x40/0x68) from [<c01eed40>] (kobj_attr_store+0x14/0x20)
[ 279.398468] [<c01eed40>] (kobj_attr_store+0x14/0x20) from [<c010c714>] (sysfs_write_file+0x7c/0xb0)
[ 279.398498] [<c010c714>] (sysfs_write_file+0x7c/0xb0) from [<c00ba1f4>] (vfs_write+0xd4/0x1bc)
[ 279.398529] [<c00ba1f4>] (vfs_write+0xd4/0x1bc) from [<c00ba624>] (SyS_write+0x3c/0x60)
[ 279.398559] [<c00ba624>] (SyS_write+0x3c/0x60) from [<c000da00>] (ret_fast_syscall+0x0/0x30)
[ 279.398559] ---[ end trace 6dfb71176b785b0d ]---
[ 279.940399] irq 26: nobody cared (try booting with the "irqpoll" option)
[ 279.940429] CPU: 0 PID: 2006 Comm: bash Tainted: G W 3.12.0-gta04 #213
[ 279.940490] [<c00120a4>] (unwind_backtrace+0x0/0xe0) from [<c0010388>] (show_stack+0x10/0x14)
[ 279.940521] [<c0010388>] (show_stack+0x10/0x14) from [<c005beb8>] (__report_bad_irq+0x24/0xe8)
[ 279.940551] [<c005beb8>] (__report_bad_irq+0x24/0xe8) from [<c005c270>] (note_interrupt+0xf4/0x188)
[ 279.940582] [<c005c270>] (note_interrupt+0xf4/0x188) from [<c005a748>] (handle_irq_event_percpu+0x170/0x198)
[ 279.940612] [<c005a748>] (handle_irq_event_percpu+0x170/0x198) from [<c005a7c8>] (handle_irq_event+0x58/0x74)
[ 279.940643] [<c005a7c8>] (handle_irq_event+0x58/0x74) from [<c005cdfc>] (handle_level_irq+0xd4/0x10c)
[ 279.940704] [<c005cdfc>] (handle_level_irq+0xd4/0x10c) from [<c0059f78>] (generic_handle_irq+0x20/0x30)
[ 279.940734] [<c0059f78>] (generic_handle_irq+0x20/0x30) from [<c000e2c4>] (handle_IRQ+0x60/0x84)
[ 279.940765] [<c000e2c4>] (handle_IRQ+0x60/0x84) from [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68)
[ 279.940795] [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68) from [<c0010b80>] (__irq_svc+0x40/0x70)
[ 279.940795] Exception stack(0xde747d60 to 0xde747da8)
[ 279.940826] 7d60: 00000001 de747da8 80404100 00000000 00000040 00000000 de746000 c0685840
[ 279.940856] 7d80: 00000010 0000000a c0685800 c066a888 218c7fbc de747da8 c0031d38 c0032678
[ 279.940856] 7da0: 60000153 ffffffff
[ 279.940917] [<c0010b80>] (__irq_svc+0x40/0x70) from [<c0032678>] (__do_softirq+0x6c/0x180)
[ 279.940948] [<c0032678>] (__do_softirq+0x6c/0x180) from [<c003280c>] (do_softirq+0x40/0x4c)
[ 279.940979] [<c003280c>] (do_softirq+0x40/0x4c) from [<c0032a74>] (irq_exit+0x80/0xe0)
[ 279.941009] [<c0032a74>] (irq_exit+0x80/0xe0) from [<c000e2c8>] (handle_IRQ+0x64/0x84)
[ 279.941040] [<c000e2c8>] (handle_IRQ+0x64/0x84) from [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68)
[ 279.941070] [<c00084d4>] (omap3_intc_handle_irq+0x54/0x68) from [<c0010b80>] (__irq_svc+0x40/0x70)
[ 279.941070] Exception stack(0xde747e20 to 0xde747e68)
[ 279.941101] 7e20: 00000001 00000108 00000001 00000000 de746000 0000001a 60000153 00000000
[ 279.941131] 7e40: 00000010 00000000 de665800 c066a888 dd8a5040 de747e68 c00503b8 c005f158
[ 279.941131] 7e60: 20000153 ffffffff
[ 279.941162] [<c0010b80>] (__irq_svc+0x40/0x70) from [<c005f158>] (resume_irqs+0x74/0xac)
[ 279.941223] [<c005f158>] (resume_irqs+0x74/0xac) from [<c0279b14>] (dpm_resume_noirq+0x148/0x16c)
[ 279.941253] [<c0279b14>] (dpm_resume_noirq+0x148/0x16c) from [<c027a58c>] (dpm_resume_start+0xc/0x18)
[ 279.941284] [<c027a58c>] (dpm_resume_start+0xc/0x18) from [<c0056210>] (suspend_enter+0x194/0x1d4)
[ 279.941314] [<c0056210>] (suspend_enter+0x194/0x1d4) from [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110)
[ 279.941345] [<c00562cc>] (suspend_devices_and_enter+0x7c/0x110) from [<c00563cc>] (enter_state+0x6c/0xa4)
[ 279.941375] [<c00563cc>] (enter_state+0x6c/0xa4) from [<c0056418>] (pm_suspend+0x14/0x70)
[ 279.941375] [<c0056418>] (pm_suspend+0x14/0x70) from [<c005564c>] (state_store+0x40/0x68)
[ 279.941436] [<c005564c>] (state_store+0x40/0x68) from [<c01eed40>] (kobj_attr_store+0x14/0x20)
[ 279.941467] [<c01eed40>] (kobj_attr_store+0x14/0x20) from [<c010c714>] (sysfs_write_file+0x7c/0xb0)
[ 279.941497] [<c010c714>] (sysfs_write_file+0x7c/0xb0) from [<c00ba1f4>] (vfs_write+0xd4/0x1bc)
[ 279.941528] [<c00ba1f4>] (vfs_write+0xd4/0x1bc) from [<c00ba624>] (SyS_write+0x3c/0x60)
[ 279.941558] [<c00ba624>] (SyS_write+0x3c/0x60) from [<c000da00>] (ret_fast_syscall+0x0/0x30)
[ 279.941558] handlers:
[ 279.941589] [<c0204950>] omap3_l3_app_irq
[ 279.941589] Disabling IRQ #26
[ 279.943481] PM: early resume of devices complete after 0.823 msecs
[ 279.944122] GPS resuming 0 0
[ 280.065338] g_ether gadget: high-speed config #2: RNDIS
[ 280.330444] si47xx_resume
[ 280.372100] mmc1: error -110 during resume (card was removed?)
[ 280.372161] dpm_run_callback(): mmc_bus_resume+0x0/0x70 returns -110
[ 280.372192] PM: Device mmc1:0001 failed to resume: error -110
[ 280.372528] PM: resume of devices complete after 428.772 msecs
[ 280.970520] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
[ 281.506805] Unhandled fault: imprecise external abort (0x1406) at 0xde55ffec
[ 281.501953] Restarting tasks ... done.
[ 282.647064] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 283.547119] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 284.447143] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 285.347198] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 286.467254] hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad?
[ 287.367309] hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad?
[ 288.267272] hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad?
[ 289.167694] hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad?
[ 294.806213] PM: Syncing filesystems ... done.
[ 299.231475] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 299.242065] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 299.251251] Suspending console(s) (use no_console_suspend to debug)
[ 299.259979] si47xx_suspend
[ 299.391021] PM: suspend of devices complete after 131.770 msecs
[ 299.392150] PM: late suspend of devices complete after 1.098 msecs
[ 299.394012] GPS SET to 0
[ 299.394195] PM: noirq suspend of devices complete after 2.014 msecs
[ 299.394378] Powerdomain (core_pwrdm) didn't enter target state 0
[ 299.394378] Powerdomain (usbhost_pwrdm) didn't enter target state 0
[ 299.394378] Could not enter target state in pm_suspend
[ 299.395324] GPS SET to 0
[ 299.401519] PM: noirq resume of devices complete after 6.561 msecs
[ 299.402740] PM: early resume of devices complete after 0.579 msecs
[ 299.403503] GPS resuming 0 0
[ 299.791961] si47xx_resume
[ 299.833129] mmc1: error -110 during resume (card was removed?)
[ 299.833190] dpm_run_callback(): mmc_bus_resume+0x0/0x70 returns -110
[ 299.833190] PM: Device mmc1:0001 failed to resume: error -110
[ 299.833526] PM: resume of devices complete after 430.770 msecs
[ 299.925872] Restarting tasks ... done.
[ 300.827728] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 301.748107] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 302.648284] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
[ 303.548461] hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
root at gta04:
On a second attempt it did not even wake up.
On a third attempt it did autoresume immediately and gave another mmc1 related
error:
[ 151.021423] PM: Syncing filesystems ... done.
[ 151.104522] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 151.114410] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 151.123657] Suspending console(s) (use no_console_suspend to debug)
[ 151.132293] si47xx_suspend
[ 151.265502] PM: suspend of devices complete after 133.967 msecs
[ 151.266632] PM: late suspend of devices complete after 1.098 msecs
[ 151.268524] GPS SET to 0
[ 151.268707] PM: noirq suspend of devices complete after 2.044 msecs
[ 151.268890] Powerdomain (core_pwrdm) didn't enter target state 0
[ 151.268890] Could not enter target state in pm_suspend
[ 151.269531] GPS SET to 0
[ 151.273620] PM: noirq resume of devices complete after 4.546 msecs
[ 151.278533] PM: early resume of devices complete after 3.906 msecs
[ 151.279541] GPS resuming 0 0
[ 151.666320] si47xx_resume
[ 151.707061] mmc1: error -110 during resume (card was removed?)
[ 151.707092] dpm_run_callback(): mmc_bus_resume+0x0/0x70 returns -110
[ 151.707122] PM: Device mmc1:0001 failed to resume: error -110
[ 151.707458] PM: resume of devices complete after 428.684 msecs
[ 151.792663] Restarting tasks ... done.
root at gta04:~#
"Powerdomain (core_pwrdm) didn't enter target state 0"
So I would say that power management needs some more fixes first.
BR,
Nikolaus
More information about the Gta04-owner
mailing list