wlan: Fixed Incorrect device mode after terminating GO/P2P CLI
In change interface set the correct device mode after terminating GO/P2P
Client
Change-Id: I23677e7af633dfe2d891b7688c01c1fedbb8dfe2
CR-Fixed: 431268
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 03935d1..4b1c10e 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -2252,8 +2252,16 @@
hdd_cfg_xlate_to_csr_phy_mode(pConfig->dot11Mode);
wdev->iftype = type;
#ifdef WLAN_FEATURE_P2P
- pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
+ if (!strcmp("p2p0",ndev->name))
+ {
+ pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
+ WLAN_HDD_P2P_DEVICE : WLAN_HDD_P2P_CLIENT;
+ }
+ else
+ {
+ pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
WLAN_HDD_INFRA_STATION: WLAN_HDD_P2P_CLIENT;
+ }
#endif
break;
case NL80211_IFTYPE_ADHOC:
@@ -2390,8 +2398,16 @@
hdd_deinit_adapter( pHddCtx, pAdapter );
wdev->iftype = type;
#ifdef WLAN_FEATURE_P2P
- pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
+ if (!strcmp("p2p0",ndev->name))
+ {
+ pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
+ WLAN_HDD_P2P_DEVICE : WLAN_HDD_P2P_CLIENT;
+ }
+ else
+ {
+ pAdapter->device_mode = (type == NL80211_IFTYPE_STATION) ?
WLAN_HDD_INFRA_STATION: WLAN_HDD_P2P_CLIENT;
+ }
#endif
hdd_set_conparam(0);
pHddCtx->change_iface = type;