qcacld-3.0: Allow RSO_STOP even if the vdevs are not UP
Host has to issue RSO_STOP to firmware before performing any vdev operations(start/stop/down/up,..). Otherwise firmware may face memory corruptions if it tries to access the same vdev while host is modifying it. Currently, RSO_STOP is sent to firmware only if all vdevs are UP. But in OWE/EAPOL offloaded roaming cases, assoc vdev would be UP and partner vdev would be down till EAPOL is done and keys are received from userspace. Connect is started on partner vdev once the keys are received. Host driver is going to do a vdev start as part of this connect. So, RSO_STOP is supposed to be sent to firmware before performing any connect operations on partner vdev. So, send RSO_STOP to firmware right after sending ROAM_SYNC_COMPLETE even if the link vdev is no UP. Change-Id: Idaa15c7b0cedff5fd6f276626047f349c500a5b8 CRs-Fixed: 3769038
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Ravindra Konda

ebeveyn
7119280d0f
işleme
c0c64ac422
@@ -4958,7 +4958,8 @@ cm_roam_state_change(struct wlan_objmgr_pdev *pdev,
|
||||
is_up = QDF_IS_STATUS_SUCCESS(wlan_vdev_is_up(vdev));
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
|
||||
|
||||
if (requested_state != WLAN_ROAM_DEINIT && !is_up) {
|
||||
if ((requested_state != WLAN_ROAM_DEINIT &&
|
||||
requested_state != WLAN_ROAM_RSO_STOPPED) && !is_up) {
|
||||
mlme_debug("ROAM: roam state(%d) change requested in non-connected state",
|
||||
requested_state);
|
||||
goto end;
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle