Hi All,
I tested the NXP8997 module with suspend/resume process, for a certain cycles the wifi driver printed error, then it couldn't work.
Test steps are below:
1. Turn on DUT
2. Turn on Wifi/BT
3. wait 8 second, then suspend the DUT
4. wait 8 second, resume the DUT
5. back to the step 3
For a period of time, the wifi driver printed error message as below...
[ 4335.049255] wlan: IOCTL by signal ffff80007bb7b800 id=0x50000, sub_id=0x50002, wait_option=1, action=2
[ 4335.063123] Error getting signal information
[ 4335.067426] cfg80211: Failed to get station info
[ 4335.079351] (elapsed 0.030 seconds) done.
[ 4335.083389] OOM killer disabled.
[ 4335.086618] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 4335.095830] Suspending console(s) (use no_console_suspend to debug)
[ 4335.105650] <--- Enter woal_cfg80211_suspend --->
[ 4335.105670] IOCTL failed: ffff80007bb79000 id=0x10000, sub_id=0x10003 action=1, status_code=0x80000007
[ 4335.106137] dpm_run_callback(): platform_pm_suspend+0x0/0x50 returns -16
[ 4335.106142] PM: Device alarmtimer failed to suspend: error -16
[ 4335.110117] BT: suspend success! skip=0
[ 4349.047287] Timeout cmd id (4348.892269) = 0xa4, act = 0x0
[ 4349.047291] a4
[ 4349.047293] 00
[ 4349.047295] 28
I also disabled power save mode(ps_mode=2 auto_ds=2) for suspend/resume and tested for a week, the system kept working.
This setting means the wifi module won't go to sleep while the system enters suspend which consumes more power than before(the previous setting is ps_mode=1 auto_ds=1).
Does NXP8997 support IEEE PS mode on Android 9?
Driver: SD-WLAN-SD-BT-8997-U16-MMC-W16.68.10.p56-16.26.10.p56-C4X16667_V4-MGPL
Platform: i.MX8M mini
OS: Android P9.0.0_2.0.0 (Linux 4.14.98 kernel)
BR,
Amber