From 23590472f21cd47c90db09a8fa6ddee44038466a Mon Sep 17 00:00:00 2001 From: Tushnim Bhattacharyya Date: Tue, 14 Jul 2020 00:10:56 -0700 Subject: [PATCH] qcacld-3.0: Unicast deauth from SAP isn't going OTA SAP sends unicast disassoc to associated stations as part of the del station request from userspace. But host is flushing the tids as well at the same time causing a race in FW which is failing to send out the unicast deauth/disassoc. Fix is to add the delay between sending the unicast frame & flush tid. Change-Id: If52da8766f72b8f5a1ed97ca5e1d9f87d82840d8 CRs-Fixed: 2731483 --- core/hdd/src/wlan_hdd_cfg80211.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 09c2bbc65053..bf528ebfa1ce 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -21091,10 +21091,10 @@ QDF_STATUS hdd_softap_deauth_current_sta(struct hdd_adapter *adapter, qdf_event_reset(&hapd_state->qdf_sta_disassoc_event); - if (!qdf_is_macaddr_broadcast(&sta_info->sta_mac)) + if (!qdf_is_macaddr_broadcast(¶m->peerMacAddr)) sme_send_disassoc_req_frame(hdd_ctx->mac_handle, adapter->vdev_id, - (uint8_t *)&sta_info->sta_mac, + (uint8_t *)¶m->peerMacAddr, param->reason_code, 0); qdf_status = hdd_softap_sta_deauth(adapter, param); @@ -21165,6 +21165,9 @@ QDF_STATUS hdd_softap_deauth_all_sta(struct hdd_adapter *adapter, if (!sta_info->is_deauth_in_progress) { hdd_debug("Delete STA with MAC:" QDF_MAC_ADDR_STR, QDF_MAC_ADDR_ARRAY(sta_info->sta_mac.bytes)); + qdf_mem_copy(param->peerMacAddr.bytes, + sta_info->sta_mac.bytes, + QDF_MAC_ADDR_SIZE); status = hdd_softap_deauth_current_sta(adapter, sta_info, hapd_state, param);