• Baochen Qiang's avatar
    wifi: ath12k: avoid stopping mac80211 queues in ath12k_core_restart() · 2652f6b4
    Baochen Qiang authored
    
    
    Currently when resume ath12k_core_restart() calls
    ath12k_core_pre_reconfigure_recovery() where mac80211 queues are
    stopped by calling ieee80211_stop_queues(). Then in
    ath12k_mac_op_reconfig_complete() those queues are not started
    because ieee80211_wake_queues() is skipped due to the check on
    reconfig_type. The result is that mac80211
    could not deliver any frame to ath12k to send out, finally making
    connection fail.
    
    [84473.104249] PM: suspend exit
    [84479.372397] wlan0: no VHT 160 MHz capability on 5 GHz, limiting to 80 MHz
    [84479.372401] wlan0: determined local STA to be EHT, BW limited to 80 MHz
    [84479.372416] wlan0: determined AP 00:03:7f:12:b7:b7 to be HE
    [84479.372420] wlan0: connecting with HE mode, max bandwidth 80 MHz
    [84479.580348] wlan0: authenticate with 00:03:7f:12:b7:b7 (local address=00:03:7f:37:11:53)
    [84479.580351] wlan0: send auth to 00:03:7f:12:b7:b7 (try 1/3)
    [84480.698993] wlan0: send auth to 00:03:7f:12:b7:b7 (try 2/3)
    [84481.816505] wlan0: send auth to 00:03:7f:12:b7:b7 (try 3/3)
    [84482.810966] wlan0: authentication with 00:03:7f:12:b7:b7 timed out
    
    Actually we don't need to stop/start queues during suspend/resume,
    so remove ath12k_core_pre_reconfigure_recovery() from ath12k_core_restart().
    This won't cause any regression because currently the only chance
    ath12k_core_restart() gets called is in reset case, where ab->is_reset
    is set so that function will never be executed.
    
    Also remove ath12k_core_post_reconfigure_recovery() because it is
    not needed in suspend/resume case. This is also valid due to above
    analysis.
    
    Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
    Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
    Signed-off-by: default avatarBaochen Qiang <quic_bqiang@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://msgid.link/20240412060620.27519-9-quic_bqiang@quicinc.com
    2652f6b4
core.c 28.1 KB