Selaa lähdekoodia

qcacld-3.0: configure WDS for roaming scenario

hdd_config_wds_repeater_mode should be called if the vdev is roaming.
Otherwise, WDS does not work after roaming.

Also deliver peer authorize to SON if the vdev is roaming.

Change-Id: If6c660a5fd3e2c493d8d100cdbfa562404018aba
CRs-Fixed: 3193596
Bing Sun 3 vuotta sitten
vanhempi
sitoutus
fd23a54ea2
1 muutettua tiedostoa jossa 8 lisäystä ja 1 poistoa
  1. 8 1
      core/hdd/src/wlan_hdd_assoc.c

+ 8 - 1
core/hdd/src/wlan_hdd_assoc.c

@@ -1141,8 +1141,15 @@ QDF_STATUS hdd_change_peer_state(struct hdd_adapter *adapter,
 		return QDF_STATUS_E_FAULT;
 	}
 
-	if (hdd_is_roam_sync_in_progress(hdd_ctx, adapter->vdev_id))
+	if (hdd_is_roam_sync_in_progress(hdd_ctx, adapter->vdev_id)) {
+		if (adapter->device_mode == QDF_STA_MODE &&
+		    (wlan_mlme_get_wds_mode(hdd_ctx->psoc) ==
+		    WLAN_WDS_MODE_REPEATER))
+			hdd_config_wds_repeater_mode(adapter, peer_mac);
+
+		hdd_son_deliver_peer_authorize_event(adapter, peer_mac);
 		return QDF_STATUS_SUCCESS;
+	}
 
 	if (sta_state == OL_TXRX_PEER_STATE_AUTH) {
 		/* Reset scan reject params on successful set key */