Suspend / resume failed on Origen Android image after the first suspend & resume cycle.

Bug #996489 reported by Botao on 2012-05-08
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Android
Won't Fix
Medium
Unassigned
linaro-landing-team-samsung
Fix Released
Medium
Unassigned

Bug Description

On Origen Android build:

https://android-build.linaro.org/builds/~linaro-android/origen-ics-gcc47-samsunglt-stable-blob-12.05-release/#build=2

Set sleep time to 15 seconds, back to the main screen then wait. At the first time, suspend / resume works well. However, after unlock screen, wait again, then and at the second time, when the system reaches the sleep time, the screen flashed 1 time, then still show the main screen. Same thing happened at the following tries.

The console log output flush out, like this I didn't copy all of them since they are duplicate:
######################################
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.101058520 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.086 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.191043661 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.088 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.281089340 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.086 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.371073260 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.085 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.461047961 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.086 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.551667820 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.087 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.646207961 UTC)
PM: Syncing filesystems ... done.
######################################

Botao (botao-sun) on 2012-05-08
summary: - Suspend / resume feature failed on Origen Android image after the first
- suspend & resume cycle.
+ Suspend / resume failed on Origen Android image after the first suspend
+ & resume cycle.
Botao (botao-sun) wrote :

Observed on:

https://android-build.linaro.org/builds/~linaro-android/origen-ics-gcc47-samsunglt-stable-blob-12.05-release/#build=3

After the first suspend / resume cycle, the board waked up automatically after suspend, it can't stay in suspend mode.

Botao (botao-sun) wrote :

On Build:

https://android-build.linaro.org/builds/~linaro-android/origen-ics-gcc47-samsunglt-stable-blob-12.05-release/#build=4

Once the board entered the suspend mode, it can't be waked up, neither pressing the hard keys on board nor using F1 key on external USB keyboard. The serial console is unavailable either:

root@android:/ # request_suspend_state: sleep (0->3) at 59717505621 (2000-01-01)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

Botao (botao-sun) wrote :

On Origen Android 12.05 Google Hangout release build:

https://android-build.linaro.org/builds/~linaro-android/origen-hangout-demo-12.05-release/#build=1

After the board reaches the sleep time - 15 seconds, the LCD screen is still lighting. In this condition, if click the "Back" hard key on board, then it will return to the screen lock screen, user can unlock the screen there.

Botao (botao-sun) wrote :

On build:

https://android-build.linaro.org/builds/~linaro-android/origen-ics-gcc47-samsunglt-stable-blob-12.05-release/#build=6

First suspend / resume cycle works well, then after the system reaches the second suspend / resume cycle, the LCD screen is still lighting. After press the hard key (upper one in 5 direction keys), then the third suspend / resume cycle works well, but the fourth cycle has the same issue as the second one. The fifth cycle works well but the sixth cycle show the same circumstance as the second & fourth cycles.

It seems like only "even" cycle has this issue although I didn't do more experiments on this. The console stay at the "Prompt Symbol #", no flushing out during the tests.

LCD is still lighting probably because Display and Graphics drivers are configured as Early Suspend and Late Resume, and from 3.4 kernel early suspend are not supported, probably configuring them as normal suspend and resume in kernel drivers would solve the problem

Changed in linaro-android:
importance: Undecided → Medium
assignee: nobody → Annamalai Lakshmanan (annamalai-lakshmanan)

It is seen that In Android The screen is not allowed to Turn Off due to the missing Early Suspend in Kernel 3.3 onwards,
So System wide suspend/resume are not getting triggered Properly

Zach Pfeffer (pfefferz) on 2012-07-03
Changed in linaro-android:
assignee: Annamalai Lakshmanan (annamalai-lakshmanan) → nobody
Changed in linaro-landing-team-samsung:
importance: Undecided → Low
Changed in linaro-landing-team-samsung:
assignee: nobody → Inderpal Singh (ips)
Inderpal Singh (ips) wrote :

As per the logs below from bug description, wi-fi is not letting the system go into suspend. Hence the wi-fi driver owner needs to look into it.

legacy_suspend(): wiphy_suspend+0x0/0x5c returns -22
PM: Device phy0 failed to suspend: error -22
PM: Some devices failed to suspend
PM: resume of devices complete after 0.085 msecs
Restarting tasks ... done.
suspend: exit suspend, ret = -22 (2000-01-01 00:02:12.461047961 UTC)

Changed in linaro-landing-team-samsung:
assignee: Inderpal Singh (ips) → nobody
Changed in linaro-landing-team-samsung:
milestone: none → backlog
Amit Khare (amit-khare) wrote :

even though the suspend setting is set for 15 sec the system never goes to suspend mode even after waiting for 10 minutes

observed with origen android build
https://android-build.linaro.org/builds/~linaro-android/origen-ics-gcc47-samsunglt-stable-blob-12.07-release/#build=1

Botao (botao-sun) wrote :

On Linaro Android build:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob/#build=5

The screen turns to black (background light is still ON) after reached the suspend time interval - 15 seconds, but after waiting for around 10 seconds more, the LCD lights up and main screen shows again.

Botao (botao-sun) wrote :

For Samsung Origen board on Linaro Jelly Bean build, display can't be turned off after suspend time reached, even wait for a much longer time (5+ minutes) after that.

Observed on:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob/#build=18

Please refer to attachment to get the serial log output.

Botao (botao-sun) wrote :

For Samsung Origen board, observed same behaviour as comment #15 on Linaro Jelly Bean image:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob/#build=25

Botao (botao-sun) wrote :

For Samsung Origen board, observed same behaviour as comment #15 on Linaro Jelly Bean image:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob/#build=33

Botao (botao-sun) wrote :

For Samsung Origen board, observed same behaviour as comment #15 on Linaro Jelly Bean image:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob-12.08-release/#build=1

Please refer to attachment to get the serial log output.

Botao (botao-sun) wrote :

For Samsung Origen board, observed same behaviour as comment #15 on Linaro Jelly Bean image:

https://android-build.linaro.org/builds/~linaro-android/origen-jb-gcc47-samsunglt-stable-blob/#build=47

Please refer to attachment to get the serial log output.

Changed in linaro-landing-team-samsung:
importance: Low → Medium
assignee: nobody → Tushar Behera (tusharbehera)
status: New → In Progress
milestone: backlog → 2012.09
Tushar Behera (tusharbehera) wrote :

G3D PD related modifications were not letting system to go to suspend. Now G3D PD is forced to be powered-on. The issue seems to be fixed.

Tushar Behera (tusharbehera) wrote :
Changed in linaro-landing-team-samsung:
status: In Progress → Fix Committed
Changed in linaro-landing-team-samsung:
status: Fix Committed → Fix Released
Botao (botao-sun) wrote :

Old Samsung Origen board had been removed from Linaro support scope, therefore, the status of this bug should be changed to "Won't Fix" on Linaro Android project.

Changed in linaro-android:
status: New → Won't Fix
Changed in linaro-landing-team-samsung:
assignee: Tushar Behera (tusharbehera) → Sanghyun Park (drrrnino7)
assignee: Sanghyun Park (drrrnino7) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers