From fd23a54ea27d88f7bfd3e2b8c557cfb10507449d Mon Sep 17 00:00:00 2001 From: Bing Sun Date: Thu, 23 Jun 2022 10:32:12 +0800 Subject: [PATCH] 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 --- core/hdd/src/wlan_hdd_assoc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index b1466728a8..dfe118864a 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/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 */