summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMahesh A Saptasagar <c_msapta@qti.qualcomm.com>2016-06-01 16:33:25 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-06-06 11:41:25 +0530
commitbd68f63d3938917275ffce1bcf5986218c196786 (patch)
tree3d0fef74ab2715fad3b96d58392576fe9e95f58c
parent7047265bbee95489ecb2f282044efa7009d02907 (diff)
qcacld-2.0: Send proper reason code and originator of disconnect
Send disconnect indication to upper layers with proper reason code and originator of the disconnect to avoid reason code mismatch between supplicant and host driver. Change-Id: I9ddacd8be0f88c6024787c9417e734ef2d5b6cb1 CRs-Fixed: 1023036
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg80211.h6
-rw-r--r--CORE/HDD/src/wlan_hdd_assoc.c6
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c2
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c2
4 files changed, 8 insertions, 8 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg80211.h b/CORE/HDD/inc/wlan_hdd_cfg80211.h
index 94f5a8c78173..6fc13ed3588f 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg80211.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg80211.h
@@ -2089,15 +2089,15 @@ struct cfg80211_bss *wlan_hdd_cfg80211_inform_bss_frame(hdd_adapter_t *pAdapter,
#if defined(CFG80211_DISCONNECTED_V2) || \
(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0))
static inline void wlan_hdd_cfg80211_indicate_disconnect(struct net_device *dev,
- bool from_ap,
+ bool locally_generated,
int reason)
{
cfg80211_disconnected(dev, reason, NULL, 0,
- from_ap, GFP_KERNEL);
+ locally_generated, GFP_KERNEL);
}
#else
static inline void wlan_hdd_cfg80211_indicate_disconnect(struct net_device *dev,
- bool from_ap,
+ bool locally_generated,
int reason)
{
cfg80211_disconnected(dev, reason, NULL, 0,
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index ae548cc08030..2b2538f3e402 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -1034,11 +1034,11 @@ static eHalStatus hdd_DisConnectHandler( hdd_adapter_t *pAdapter, tCsrRoamInfo *
pr_info(
"wlan: disconnected due to poor signal, rssi is %d dB\n",
pRoamInfo->rxRssi);
- wlan_hdd_cfg80211_indicate_disconnect(dev, true,
- WLAN_REASON_UNSPECIFIED);
+ wlan_hdd_cfg80211_indicate_disconnect(dev, false,
+ pRoamInfo->reasonCode);
}
else
- wlan_hdd_cfg80211_indicate_disconnect(dev, true,
+ wlan_hdd_cfg80211_indicate_disconnect(dev, false,
WLAN_REASON_UNSPECIFIED);
hddLog(VOS_TRACE_LEVEL_INFO_HIGH,
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 73acba12fa08..4749917bafe1 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -19211,7 +19211,7 @@ disconnected:
*/
hddLog(LOG1, FL("Send disconnected event to userspace"));
- wlan_hdd_cfg80211_indicate_disconnect(pAdapter->dev, false,
+ wlan_hdd_cfg80211_indicate_disconnect(pAdapter->dev, true,
WLAN_REASON_UNSPECIFIED);
#endif
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 429c398122c9..b3e855aad8a7 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -11812,7 +11812,7 @@ VOS_STATUS hdd_start_all_adapters( hdd_context_t *pHddCtx )
pAdapter->sessionCtx.station.hdd_ReassocScenario = VOS_FALSE;
/* indicate disconnected event to nl80211 */
- wlan_hdd_cfg80211_indicate_disconnect(pAdapter->dev, true,
+ wlan_hdd_cfg80211_indicate_disconnect(pAdapter->dev, false,
WLAN_REASON_UNSPECIFIED);
}
else if (eConnectionState_Connecting == connState)