diff options
| author | Deepak Dhamdhere <ddhamdhe@codeaurora.org> | 2016-11-12 15:08:22 -0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-11-23 11:15:45 -0800 |
| commit | 8659b539e47a1f0f943cdde9e8ec05bbf5b434ad (patch) | |
| tree | 3fbf68c2aa63b5594981218b9770db2a307f0ab4 | |
| parent | 3b7d2f915e7b5dfd826cb61061d6b68424f2c5ce (diff) | |
qcacld-3.0: Allow REASSOC to same BSSID
Allow wlan_hdd_cfg80211_connect() and wpa_cli "REASSOC" command
to reassociate to same bssid by using the currently connected
channel.
CRs-Fixed: 1089293
Change-Id: Idee480dc480a137426dd3189e1ca1e542bcf053a
| -rw-r--r-- | core/hdd/inc/wlan_hdd_main.h | 2 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_ioctl.c | 13 |
2 files changed, 7 insertions, 8 deletions
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 7fa9e703ec92..9321876ec459 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1935,7 +1935,7 @@ static inline int wlan_hdd_nl_init(hdd_context_t *hdd_ctx) QDF_STATUS hdd_sme_close_session_callback(void *pContext); int hdd_reassoc(hdd_adapter_t *adapter, const uint8_t *bssid, - const uint8_t channel, const handoff_src src); + uint8_t channel, const handoff_src src); void hdd_svc_fw_shutdown_ind(struct device *dev); int hdd_register_cb(hdd_context_t *hdd_ctx); void hdd_deregister_cb(hdd_context_t *hdd_ctx); diff --git a/core/hdd/src/wlan_hdd_ioctl.c b/core/hdd/src/wlan_hdd_ioctl.c index 38bce8dbe581..3f6615c993da 100644 --- a/core/hdd/src/wlan_hdd_ioctl.c +++ b/core/hdd/src/wlan_hdd_ioctl.c @@ -874,9 +874,9 @@ void hdd_wma_send_fastreassoc_cmd(int sessionId, const tSirMacAddr bssid, /** * hdd_reassoc() - perform a userspace-directed reassoc - * @adapter: Adapter upon which the command was received - * @bssid: BSSID with which to reassociate - * @channel: channel upon which to reassociate + * @adapter: Adapter upon which the command was received + * @bssid: BSSID with which to reassociate + * @channel: channel upon which to reassociate * @src: The source for the trigger of this action * * This function performs a userspace-directed reassoc operation @@ -884,7 +884,7 @@ void hdd_wma_send_fastreassoc_cmd(int sessionId, const tSirMacAddr bssid, * Return: 0 for success non-zero for failure */ int hdd_reassoc(hdd_adapter_t *adapter, const uint8_t *bssid, - const uint8_t channel, const handoff_src src) + uint8_t channel, const handoff_src src) { hdd_station_ctx_t *pHddStaCtx; hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter); @@ -913,13 +913,12 @@ int hdd_reassoc(hdd_adapter_t *adapter, const uint8_t *bssid, /* * if the target bssid is same as currently associated AP, - * then no need to proceed with reassoc + * use the current connections's channel. */ if (!memcmp(bssid, pHddStaCtx->conn_info.bssId.bytes, QDF_MAC_ADDR_SIZE)) { hdd_info("Reassoc BSSID is same as currently associated AP bssid"); - ret = -EINVAL; - goto exit; + channel = pHddStaCtx->conn_info.operationChannel; } /* Check channel number is a valid channel number */ |
