diff options
| author | Mahesh A Saptasagar <c_msapta@qti.qualcomm.com> | 2016-06-01 16:33:25 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-06-06 11:41:25 +0530 |
| commit | bd68f63d3938917275ffce1bcf5986218c196786 (patch) | |
| tree | 3d0fef74ab2715fad3b96d58392576fe9e95f58c | |
| parent | 7047265bbee95489ecb2f282044efa7009d02907 (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.h | 6 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_assoc.c | 6 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 2 |
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) |
