summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 24d3faf9bf7c..aa013e0d42fa 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -14581,17 +14581,6 @@ static int __wlan_hdd_cfg80211_change_iface(struct wiphy *wiphy,
return -EINVAL;
}
- pConfig = pHddCtx->config;
- wdev = ndev->ieee80211_ptr;
-
- /* Reset the current device mode bit mask */
- cds_clear_concurrency_mode(pAdapter->device_mode);
-
- /*
- * must be called after cds_clear_concurrency_mode's invocation so the
- * current adapter's old device mode mapping is removed from our
- * internal records.
- */
if (!cds_allow_concurrency(
wlan_hdd_convert_nl_iftype_to_hdd_type(type),
0, HW_MODE_20_MHZ)) {
@@ -14599,6 +14588,12 @@ static int __wlan_hdd_cfg80211_change_iface(struct wiphy *wiphy,
return -EINVAL;
}
+ pConfig = pHddCtx->config;
+ wdev = ndev->ieee80211_ptr;
+
+ /* Reset the current device mode bit mask */
+ cds_clear_concurrency_mode(pAdapter->device_mode);
+
hdd_update_tdls_ct_and_teardown_links(pHddCtx);
if ((pAdapter->device_mode == QDF_STA_MODE) ||
(pAdapter->device_mode == QDF_P2P_CLIENT_MODE) ||
@@ -18556,8 +18551,8 @@ static int __wlan_hdd_cfg80211_connect(struct wiphy *wiphy,
bssid_hint, channel, 0);
if (0 > status) {
hdd_err("connect failed");
- return status;
}
+ return status;
con_chk_failed:
wlan_hdd_cfg80211_clear_privacy(pAdapter);