summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelvaraj, Sridhar <sselvara@codeaurora.org>2017-01-12 20:19:27 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-01-15 23:45:56 -0800
commit0f3e0fff3925366ef9f26ec97e96e18ceb0edab3 (patch)
treeda9b122facfb2cf97c766ffa74d1d11f90013967
parentf60e2624aa4e7c7a441b41f739338a624cc3edbf (diff)
qcacld-3.0: Return error status to user space if set fast roam fails
Currently, when the set fast roam from user space fails in HDD, host driver is not returning failure status. This causes timeout in user space awaiting more data from driver eventually leading to supplicant driver connection loss and wifi disabling and re-enabling. Return failure status when the set fast roam command fails in HDD. Change-Id: Id53d9fe0a2fb18fc4da4f174f6f031350dc20af2 CRs-Fixed: 1111083
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 8697a988461f..c16547cfbae2 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -8319,6 +8319,7 @@ static int __wlan_hdd_cfg80211_set_fast_roaming(struct wiphy *wiphy,
struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_MAX + 1];
uint32_t is_fast_roam_enabled;
int ret;
+ QDF_STATUS qdf_status;
ENTER_DEV(dev);
@@ -8355,11 +8356,14 @@ static int __wlan_hdd_cfg80211_set_fast_roaming(struct wiphy *wiphy,
return -EINVAL;
}
/* Update roaming */
- ret = sme_config_fast_roaming(hdd_ctx->hHal, adapter->sessionId,
+ qdf_status = sme_config_fast_roaming(hdd_ctx->hHal, adapter->sessionId,
(is_fast_roam_enabled &&
adapter->fast_roaming_allowed));
- if (ret)
- hdd_err("sme_config_fast_roaming failed");
+ if (qdf_status != QDF_STATUS_SUCCESS)
+ hdd_err("sme_config_fast_roaming failed with status=%d",
+ qdf_status);
+ ret = qdf_status_to_os_return(qdf_status);
+
EXIT();
return ret;
}