qcacld-3.0: Vendor attribute for setting TX fail count threshold
qcacld-2.0 to qcacld-3.0 propagation
Vendor attribute for setting TX fail count threshold. This attribute
is part of QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION.
Change-Id: Iba2a6d4c04809041489ff8c32aeb17c9dafbc4a5
CRs-Fixed: 1045760
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 58f8109..e2e97b2 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -3914,6 +3914,7 @@
[QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY] = {.type = NLA_U8 },
+ [QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT] = {.type = NLA_U32 },
};
/**
@@ -3986,6 +3987,7 @@
QDF_STATUS qdf_status;
uint8_t retry, delay;
int param_id;
+ uint32_t tx_fail_count;
ENTER_DEV(dev);
@@ -4146,6 +4148,20 @@
delay, PDEV_CMD);
}
+ if (tb[QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT]) {
+ tx_fail_count = nla_get_u32(
+ tb[QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT]);
+ if (tx_fail_count) {
+ status = sme_update_tx_fail_cnt_threshold(hdd_ctx->hHal,
+ adapter->sessionId, tx_fail_count);
+ if (QDF_STATUS_SUCCESS != status) {
+ hdd_info("sme_update_tx_fail_cnt_threshold (err=%d)",
+ status);
+ return -EINVAL;
+ }
+ }
+ }
+
if (vendor_ie_present && access_policy_present) {
if (access_policy == QCA_ACCESS_POLICY_DENY_UNLESS_LISTED) {
access_policy =