qcacld-3.0: Post data stall event properly during NUD failure
When cfg80211_get_nud_stats is called post data stall event only if NUD tracking is disabled in host driver. When NUD failure is honoured in host driver post data stall event before disconnection. Change-Id: Ia366e539cb1674354e16c1086255804a244f34d6 CRs-Fixed: 2765557
This commit is contained in:

کامیت شده توسط
snandini

والد
fa28e74a83
کامیت
697d229fd6
@@ -14351,6 +14351,7 @@ static int __wlan_hdd_cfg80211_get_nud_stats(struct wiphy *wiphy,
|
||||
|
||||
/* send NUD failure event only when ARP tracking is enabled. */
|
||||
if (cdp_cfg_get(soc, cfg_dp_enable_data_stall) &&
|
||||
!hdd_ctx->config->enable_nud_tracking &&
|
||||
(pkt_type_bitmap & CONNECTIVITY_CHECK_SET_ARP)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_ERROR,
|
||||
"Data stall due to NUD failure");
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include "wlan_hdd_main.h"
|
||||
#include "wlan_blm_ucfg_api.h"
|
||||
#include "hdd_dp_cfg.h"
|
||||
#include <cdp_txrx_misc.h>
|
||||
|
||||
void hdd_nud_set_gateway_addr(struct hdd_adapter *adapter,
|
||||
struct qdf_mac_addr gw_mac_addr)
|
||||
@@ -317,6 +318,7 @@ static void __hdd_nud_failure_work(struct hdd_adapter *adapter)
|
||||
struct hdd_context *hdd_ctx;
|
||||
eConnectionState conn_state;
|
||||
int status;
|
||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
|
||||
hdd_enter();
|
||||
|
||||
@@ -341,6 +343,16 @@ static void __hdd_nud_failure_work(struct hdd_adapter *adapter)
|
||||
return;
|
||||
}
|
||||
|
||||
if (soc && cdp_cfg_get(soc, cfg_dp_enable_data_stall)) {
|
||||
hdd_dp_err("Data stall due to NUD failure");
|
||||
cdp_post_data_stall_event
|
||||
(soc,
|
||||
DATA_STALL_LOG_INDICATOR_HOST_DRIVER,
|
||||
DATA_STALL_LOG_NUD_FAILURE,
|
||||
OL_TXRX_PDEV_ID, 0XFF,
|
||||
DATA_STALL_LOG_RECOVERY_TRIGGER_PDR);
|
||||
}
|
||||
|
||||
if (adapter->device_mode == QDF_STA_MODE &&
|
||||
hdd_is_roam_after_nud_enabled(hdd_ctx->config)) {
|
||||
hdd_handle_nud_fail_sta(hdd_ctx, adapter);
|
||||
|
مرجع در شماره جدید
Block a user