In case of disconnect from peer or HB failure the connected profile, roam info etc are not freed. So connected BSSID is still present in sme session. Now in STA+STA case if the vdev0 STA connect to a BSSID say AP1 and then disconnect due to HB failure. Now if the 2nd vdev1 STA connect to AP1 and again disconnect due to HB failure, in csr_roam_chk_lnk_deauth_ind it will try to find the session using BSSID, but as vdev0 BSSID is not yet deleted it will get the vdev0 vdev id and continue the process on the wrong BSSID. This result in actual CSR session in connected state for the vdev1 but all other layer in disconnected state. Now if a connect request is received on vdev1 again, as CSR is connected state it lead to reassoc req to LIM and lead to out of sync issues. To fix this free connected profile, roam info etc during peer initiated disconnects. Also ignore the BSSID if a vdev is already connected to it. Change-Id: I0f862259dc297217c7b9ecd5d1521a8ded2aadc3 CRs-Fixed: 2577795 |
||
---|---|---|
.. | ||
bmi | ||
cds | ||
dp | ||
hdd | ||
mac | ||
pld | ||
sap | ||
sme | ||
wma |