Closed Bug 943265 Opened 11 years ago Closed 6 years ago

[flatfish][LCD][USB][suspend] LCD panel will blinking(without backlight) when USB plugged in PC and system trying to suspend

Categories

(Firefox OS Graveyard :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: johnchang1972, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 (Beta/Release)
Build ID: 20131115110311

Steps to reproduce:

1. connect flatfish to PC USB
2. press  power button, LCD will turn off
3. few seconds later, can see LCD panel blinking(without backligh) under light



Actual results:


this is caused by system is trying to suspend but USB is connect to PC, so it will fail to suspend and system will resume back, and every time system trying to suspend or resume, the LCD panel will be initial again , then can see LCD blinking every few seconds.

UART log:
===================================================

[ 1004.442330] [pm]valid
[ 1004.445185] PM: Syncing filesystems ... done.
[ 1004.458106] sunxi cpufreq suspend ok
[ 1004.462725] Freezing user space processes ... [sw_udc]: dequeue: ep(0xc080ff38, 4), _req(0xed59e4c8, 24, 0)
[ 1004.494823] (elapsed 0.02 seconds) done.
[ 1004.499520] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 1004.528085] [pm]3 state begin
[ 1004.533780] Suspending console(s) (use no_console_suspend to debug)
[ 1004.542545] [audio codec]:suspend
[ 1004.764048] [audio codec]:suspend end
[ 1004.784055] [DISP]>>disp super standby enter<<
[ 1005.284329] [mmc]: smc 1 suspend
[ 1005.344087] [mmc]: sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.345241] [mmc]: smc 2 suspend
[ 1005.345479] sun6i-rtc sun6i-rtc: sun6i_rtc_gettime
[ 1005.345497] sun6i-rtc sun6i-rtc: read time 2013-11-21 8:16:39
[ 1005.345790] [sw_hci_sun6i]: ERR: hcd is null
[ 1005.346041] [uart]: uart2 suspend
[ 1005.346068] [uart]: uart1 suspend
[ 1005.346092] [uart]: uart0 suspend
[ 1005.346479] [sw_hcd0]: sw_hcd_suspend start
[ 1005.346491] [sun6i_usb]: wrn: hcd is disable, need not enter to suspend
[ 1005.346517] [sw_udc]: sw_udc_suspend start
[ 1005.346528] [sun6i_usb]: ERR: usb is connect to PC, can not suspend
[ 1005.346558] dpm_run_callback(): platform_pm_suspend+0x0/0x6c returns -16
[ 1005.346580] PM: Device sw_usb_udc failed to suspend: error -16
[ 1005.346596] PM: Some devices failed to suspend
[ 1005.346606] [pm]aw_pm_recover
[ 1005.346671] [sw_hcd0]: sw_hcd_resume start
[ 1005.346684] [sun6i_usb]: wrn: hcd is disable, need not resume
[ 1005.346784] [DISP]>>disp super standby exit<<
[ 1005.346901] [DISP]>>disp_resume call<<
[ 1005.346934] [uart]: uart0 resume
[ 1005.346955] [uart]: uart1 resume
[ 1005.346973] [uart]: uart2 resume
[ 1005.347087] [sw_hci_sun6i]: ERR: hcd is null
[ 1005.364198] sun6i-rtc sun6i-rtc: sun6i_rtc_gettime
[ 1005.364218] sun6i-rtc sun6i-rtc: read time 2013-11-21 8:16:39
[ 1005.364344] [mmc]: sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.384063] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.454047] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.454120] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.455715] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.458184] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.495337] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1005.498258] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing MMC-HS(SDR20) dt B
[ 1005.499034] [mmc]: sdc2 set ios: clk 52000000Hz bm PP pm ON vdd 3.3V width 1 timing MMC-HS(SDR20) dt B
[ 1005.554522] [mmc]: sdc2 set ios: clk 52000000Hz bm PP pm ON vdd 3.3V width 8 timing MMC-HS(SDR20) dt B
[ 1005.555927] [mmc]: smc 2 resume
[ 1005.555961] [mmc]: smc 1 resume
[ 1005.558362] [audio codec]:resume start
[ 1005.558381] [audio codec]:resume end
[ 1005.558601] [ap6xxx]: succeed to set gpio ap6xxx_bt_regon to 0 !
[ 1005.594481] PM: resume of devices complete after 247.858 msecs
[ 1005.594744] PM: resume devices took 0.250 seconds
[ 1005.879671] [pm]aw_pm_end!
[ 1005.882697] Restarting tasks ... done.
[ 1005.888774] sunxi cpufreq resume ok
[ 1005.892768] suspend: exit suspend, ret = -16 (2013-11-21 08:16:40.188565713 UTC)
[ 1005.901062] active wake lock unknown_wakeups, time left 500
[ 1010.912467] [pm]valid
[ 1010.915383] PM: Syncing filesystems ... done.
[ 1010.928505] sunxi cpufreq suspend ok
[ 1010.933134] Freezing user space processes ... [sw_udc]: dequeue: ep(0xc080ff38, 4), _req(0xed59e4c8, 24, 0)
[ 1010.964865] (elapsed 0.02 seconds) done.
[ 1010.969563] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 1010.998096] [pm]3 state begin
[ 1011.003791] Suspending console(s) (use no_console_suspend to debug)
[ 1011.012570] [audio codec]:suspend
[ 1011.234050] [audio codec]:suspend end
[ 1011.254054] [DISP]>>disp super standby enter<<
[ 1011.754321] [mmc]: smc 1 suspend
[ 1011.814087] [mmc]: sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.815241] [mmc]: smc 2 suspend
[ 1011.815478] sun6i-rtc sun6i-rtc: sun6i_rtc_gettime
[ 1011.815497] sun6i-rtc sun6i-rtc: read time 2013-11-21 8:16:46
[ 1011.815792] [sw_hci_sun6i]: ERR: hcd is null
[ 1011.816044] [uart]: uart2 suspend
[ 1011.816071] [uart]: uart1 suspend
[ 1011.816096] [uart]: uart0 suspend
[ 1011.816483] [sw_hcd0]: sw_hcd_suspend start
[ 1011.816496] [sun6i_usb]: wrn: hcd is disable, need not enter to suspend
[ 1011.816521] [sw_udc]: sw_udc_suspend start
[ 1011.816532] [sun6i_usb]: ERR: usb is connect to PC, can not suspend
[ 1011.816563] dpm_run_callback(): platform_pm_suspend+0x0/0x6c returns -16
[ 1011.816586] PM: Device sw_usb_udc failed to suspend: error -16
[ 1011.816601] PM: Some devices failed to suspend
[ 1011.816612] [pm]aw_pm_recover
[ 1011.816675] [sw_hcd0]: sw_hcd_resume start
[ 1011.816687] [sun6i_usb]: wrn: hcd is disable, need not resume
[ 1011.816786] [DISP]>>disp super standby exit<<
[ 1011.816902] [DISP]>>disp_resume call<<
[ 1011.816932] [uart]: uart0 resume
[ 1011.816952] [uart]: uart1 resume
[ 1011.816970] [uart]: uart2 resume
[ 1011.817084] [sw_hci_sun6i]: ERR: hcd is null
[ 1011.834218] sun6i-rtc sun6i-rtc: sun6i_rtc_gettime
[ 1011.834238] sun6i-rtc sun6i-rtc: read time 2013-11-21 8:16:46
[ 1011.834362] [mmc]: sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.854050] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.924050] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.924123] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.925719] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.928187] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.965339] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1011.968237] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing MMC-HS(SDR20) dt B
[ 1011.969043] [mmc]: sdc2 set ios: clk 52000000Hz bm PP pm ON vdd 3.3V width 1 timing MMC-HS(SDR20) dt B
[ 1012.024510] [mmc]: sdc2 set ios: clk 52000000Hz bm PP pm ON vdd 3.3V width 8 timing MMC-HS(SDR20) dt B
[ 1012.025915] [mmc]: smc 2 resume
[ 1012.025948] [mmc]: smc 1 resume
[ 1012.028347] [audio codec]:resume start
[ 1012.028366] [audio codec]:resume end
[ 1012.028592] [ap6xxx]: succeed to set gpio ap6xxx_bt_regon to 0 !
[ 1012.064480] PM: resume of devices complete after 247.852 msecs
[ 1012.064747] PM: resume devices took 0.250 seconds
[ 1012.349733] [pm]aw_pm_end!
[ 1012.352773] Restarting tasks ... done.
[ 1012.358807] sunxi cpufreq resume ok
[ 1012.362799] suspend: exit suspend, ret = -16 (2013-11-21 08:16:46.658596969 UTC)
[ 1012.371094] active wake lock unknown_wakeups, time left 500



Expected results:

in Android, system only enter early suspend(according UART log), it won't trying to suspend, so LCD won't be initial again, LCD won't blinking


android UART log:
===============================

[   78.842063] [DISP WRN] file:drivers/video/sun6i/disp/de_bsp/de/disp_layer.c,line:363:    
[   78.850608] net_ratelimit: 3 callbacks suppressed
[   78.850619] dhd_set_suspend: force extra Suspend setting
[   78.862647] all layer resource used!
[   78.869033] [pm]valid
[   78.871619] request_suspend_state: sleep (0->3) at 78858257038 (2013-11-26 09:20:54.738095601 UTC)
[   78.882510] [VFE]vfe_suspend
[   78.885772] [VFE]set camera to power off!
[   78.890250] [S5K4EC_MIPI]CSI_SUBDEV_PWR_OFF
[   78.895109] [VFE]mclk off
[   78.898065] [VFE_WARN]invalid gpio
[   78.901891] [VFE]vfe_suspend done!
[   78.905727] [VFE]vfe_suspend
[   78.908947] [VFE]set camera to power off!
[   78.913449] [CSI_DEBUG][HI253]CSI_SUBDEV_PWR_OFF
[   78.942730] [VFE_WARN]invalid gpio
[   78.958836] [VFE]mclk off
[   78.961790] [VFE]vfe_suspend done!
[   79.213471] [DISP]>>display early suspend done<<
Summary: [flatfish][LCD][suspend] LCD panel will blinking(without backlight) every few seconds when USB plugged in PC and system trying to suspend → [flatfish][LCD][suspend] LCD panel will blinking(without backlight) when USB plugged in PC and system trying to suspend
Summary: [flatfish][LCD][suspend] LCD panel will blinking(without backlight) when USB plugged in PC and system trying to suspend → [flatfish][LCD][USB][suspend] LCD panel will blinking(without backlight) when USB plugged in PC and system trying to suspend
fixed this issue in kernel driver USB sw_udc,
prevent system enter suspend by adding some wake_lock when USB connected to PC and usb_connect in sw_udc is true.

kernel file commit to bitbucket today.
dupe of bug 1039745?
See Also: → 1039745
Firefox OS is not being worked on
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.