[PATCH 2/2] ath10k: pass the ssid info to get the correct bss entity
kvalo at codeaurora.org
Thu Jan 28 02:19:22 EST 2021
Wen Gong <wgong at codeaurora.org> wrote:
> When connect to an AP with WPA mode, ath10k need to set need_ptk_4_way to
> firmware in WMI_PEER_ASSOC_CMD, then the data path is disallow in
> firmware, it will be allowed untill firmware finish the 4 way handshake.
> It failed with a test case with below steps:
> 1. configure AP with WPA mode with ssid1 SimpleConnect_a_orbvt_ch1,
> bssid1 and channel 1.
> 2. connect to ssid1 and ping success.
> 3. wait 10 seconds which is less than
> IEEE80211_SCAN_RESULT_EXPIRE(30 seconds).
> 4. configure AP with OPEN mode with ssid2 SimpleConnect_b_z3a00_ch1,
> but use same bssid1 and channel 1 of step 1.
> 5. disconnect ssid1.
> 6. connect to ssid2 and ping fail.
> Fail reason:
> When run step 6, ath10k_peer_assoc_h_crypto() called cfg80211_get_bss()
> with bssid and chan info, but ssid1 and ssid2 have the same bssid and
> channel, then there have 2 entry for ssid1 and ssid2 in cfg80211. The
> ssid1's order is before ssid2 in bss_list, and ssid1's age is less than
> the expire time which is IEEE80211_SCAN_RESULT_EXPIRE(30 seconds). Then
> ssid1's entry is selected and ath10k_peer_assoc_h_crypto() parsed it and
> get the rsnie and then need_ptk_4_way is set to firmware, so data path
> is disallowed and it will not receive 4 way handshake for OPEN mode,
> so ping fail in step 6.
> This patch is to pass the ssid info to cfg80211_get_bss() as same as
> cfg80211_mlme_assoc() and cfg80211_mlme_auth(), then it will find the
> correct bss entry in above test case, then case success.
> For AP mode, the ssid info is filled in ieee80211_start_ap(), for STATION
> mode, it is filled in ieee80211_mgd_assoc(). Tested for both AP/STATION
> mode with QCA6174 hw3.2 PCI, it is success start/connect/ping for
> WPA/OPEN mode.
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00110-QCARMSWP-1
> Signed-off-by: Wen Gong <wgong at codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo at codeaurora.org>
Patch applied to ath-next branch of ath.git, thanks.
22df5e1bec25 ath10k: pass the ssid info to get the correct bss entity
More information about the ath10k