diff options
| author | Abhishek Singh <absingh@qti.qualcomm.com> | 2016-06-16 16:49:11 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-06-17 21:00:06 +0530 |
| commit | 54279915669ba52e94cc2e025dce44cb2c2d42ee (patch) | |
| tree | 4eefb273732f89f8582cdd4d4e04b4ad57781bab | |
| parent | 41636653d63ebf7b498df77ad8103ddeb88e2700 (diff) | |
qcacld-2.0: If set roaming fails return non-positive value
If set roaming disabled is called when roaming is already in
progress the sme_config_fast_roaming api returns failure status
and this status, which is positive value, is returned to upper
layer. This results in wpa_supplicant to wait indefinitely.
To avoid this if sme_config_fast_roaming returns falure,
return -EINVAL.
Change-Id: I1de5276f9fc72b04725f963e44e6168bc119f559
CRs-Fixed: 1029834
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 98bb836c6bfb..ebdcf9cc824e 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -11031,6 +11031,7 @@ static int __wlan_hdd_cfg80211_fast_roaming(struct wiphy *wiphy, hdd_adapter_t *adapter = WLAN_HDD_GET_PRIV_PTR(dev); struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_MAX + 1]; uint32_t is_fast_roam_enabled; + eHalStatus status; int ret; ENTER(); @@ -11062,12 +11063,15 @@ static int __wlan_hdd_cfg80211_fast_roaming(struct wiphy *wiphy, hddLog(LOG1, FL("isFastRoamEnabled %d"), is_fast_roam_enabled); /* Update roaming */ - ret = sme_config_fast_roaming(hdd_ctx->hHal, adapter->sessionId, + status = sme_config_fast_roaming(hdd_ctx->hHal, adapter->sessionId, is_fast_roam_enabled); - if (ret) - hddLog(LOGE, FL("sme_config_fast_roaming failed")); + if (!HAL_STATUS_SUCCESS(status)) { + hddLog(LOGE, + FL("sme_config_fast_roaming (err=%d)"), status); + return -EINVAL; + } EXIT(); - return ret; + return 0; } /** |
