Kernel Tree For Xiaomi 11 Lite NE 5G
qcacld-2.0 to qcacld-3.0 propagation If roaming is initiated by firmware, after getting the candidate list the CSR will start preauth with the candidates and thus preauth will be the active command in SME. Now if at the same time connect is issued from supplicant, HDD will queue disconnect cmd in SME queue and wait for disconnect to get complete for 2 sec. Now there is a chance that channel change along with preauth timeout can take more than 2 secs. In this scenareo the disconnect will timeout in HDD and will return connect failure to supplicant. Next supplicant will issue disconnect which is ignored by HDD as disconnect is already been queued in SME. Now if supplicant again sends the connect command, as part of connect command CSR will remove the disconnect command from the SME queue and queue this connect command. On preauth timeout the preauth state machine checks if disconnect is queued and if it is queued it will abort preauth. But in this case disconnect is removed by the connect request and thus preauth retry continues and if preauth is success handoff will be queued in SME queue. Now the connect request is processed and if this connect request's BSSID is same as the BSSID of the roam candidate, as all the CSR states for this BSSID session indicate roaming, instead of join it will try to reassociate and continue changing the CSR states again. Eventually this connect will fail. Next the handoff command is processed and as part of handoff it will try to cleanup original session, but as CSR states are changed by connect request the original session is not cleaned up properly. This results in stale PE session entry which does not allow the scan to be sent to firmware, returning the cached results and thus 0 scan results. To fix this: - Increase the WLAN_WAIT_TIME_DISCONNECT to 5 sec to make sure all sessions are cleaned up before allowing the new connect to proceed. - Increase the priority of preauth scans. Change-Id: Id7cc1e6f3c31df8a8c8955eb3ff48cb60e5b5ab2 CRs-Fixed: 1048394 |
||
---|---|---|
config | ||
core | ||
target/inc | ||
uapi/linux | ||
Android.mk | ||
Kbuild | ||
Kconfig | ||
Makefile | ||
README.txt |
This is CNSS WLAN Host Driver for products starting from iHelium