summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-03-18 18:43:00 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-03-18 18:44:24 +0530
commita029cb2d02ce85f43ed978ce50bea8e52fc33b19 (patch)
tree04c756efa379750968fd96e7186bd6531d1bd049
parent24195cdd261d264e586640c86136ea17d48e6a67 (diff)
parent33aceccab1f4a9ae7859062a726dc8aa4ae531e6 (diff)
Release 4.0.10.57 QCACLD WLAN Driver
Merge remote-tracking branch 'origin/caf/caf-wlan/master' * origin/caf/caf-wlan/master: Cafstaging Release 4.0.10.57 qcacld-2.0: Changes to properly typecast the operands to avoid overflow qcacld-2.0: Reserve tx desc for mgmt frame Change-Id: I355f37ba2f6fc5c1ddfd99268e759c709f0ad51e
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_tx.c9
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_txrx.h3
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/VOSS/src/vos_api.c2
-rwxr-xr-xKbuild9
5 files changed, 22 insertions, 5 deletions
diff --git a/CORE/CLD_TXRX/TXRX/ol_tx.c b/CORE/CLD_TXRX/TXRX/ol_tx.c
index f4e4444535e5..d70b72706ce5 100644
--- a/CORE/CLD_TXRX/TXRX/ol_tx.c
+++ b/CORE/CLD_TXRX/TXRX/ol_tx.c
@@ -527,7 +527,7 @@ ol_tx_hl_base(
while (msdu) {
adf_nbuf_t next;
struct ol_tx_frms_queue_t *txq;
- struct ol_tx_desc_t *tx_desc;
+ struct ol_tx_desc_t *tx_desc = NULL;
/*
* The netbuf will get stored into a (peer-TID) tx queue list
@@ -536,8 +536,13 @@ ol_tx_hl_base(
*/
next = adf_nbuf_next(msdu);
+#if defined(CONFIG_TX_DESC_MGMT_RESERVE)
+ if (adf_os_atomic_read(&pdev->tx_queue.rsrc_cnt) > TXRX_HL_TX_DESC_MGMT_RESERVED) {
+ tx_desc = ol_tx_desc_hl(pdev, vdev, msdu, &tx_msdu_info);
+ }
+#else
tx_desc = ol_tx_desc_hl(pdev, vdev, msdu, &tx_msdu_info);
-
+#endif
if (! tx_desc) {
/*
* If we're out of tx descs, there's no need to try to allocate
diff --git a/CORE/CLD_TXRX/TXRX/ol_txrx.h b/CORE/CLD_TXRX/TXRX/ol_txrx.h
index 8109c75cbee7..2fbdb2e2e061 100644
--- a/CORE/CLD_TXRX/TXRX/ol_txrx.h
+++ b/CORE/CLD_TXRX/TXRX/ol_txrx.h
@@ -56,4 +56,7 @@ ol_tx_desc_pool_size_hl(ol_pdev_handle ctrl_pdev);
#define TXRX_HL_TX_FLOW_CTRL_MGMT_RESERVED 100
#endif
+#ifdef CONFIG_TX_DESC_MGMT_RESERVE
+#define TXRX_HL_TX_DESC_MGMT_RESERVED 10
+#endif
#endif /* _OL_TXRX__H_ */
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 447e247393e3..d946a3a88ca8 100644
--- a/CORE/MAC/inc/qwlan_version.h
+++ b/CORE/MAC/inc/qwlan_version.h
@@ -42,9 +42,9 @@ BRIEF DESCRIPTION:
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 10
#define QWLAN_VERSION_EXTRA ""
-#define QWLAN_VERSION_BUILD 56
+#define QWLAN_VERSION_BUILD 57
-#define QWLAN_VERSIONSTR "4.0.10.56"
+#define QWLAN_VERSIONSTR "4.0.10.57"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index dcabd846f94c..621877b86213 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -2405,7 +2405,7 @@ v_U64_t vos_get_monotonic_boottime(void)
cnss_get_monotonic_boottime(&ts);
return (((v_U64_t)ts.tv_sec * 1000000) + (ts.tv_nsec / 1000));
#else
- return adf_os_ticks_to_msecs(adf_os_ticks()) * 1000;
+ return ((v_U64_t)adf_os_ticks_to_msecs(adf_os_ticks()) * 1000);
#endif
}
diff --git a/Kbuild b/Kbuild
index c69d6fba8204..652c01aba5e6 100755
--- a/Kbuild
+++ b/Kbuild
@@ -159,6 +159,9 @@ endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CONFIG_PER_VDEV_TX_DESC_POOL := 0
endif
+ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
+ CONFIG_TX_DESC_MGMT_RESERVE := 1
+endif
#Enable OS specific IRQ abstraction
@@ -1116,6 +1119,12 @@ ifeq ($(CONFIG_PER_VDEV_TX_DESC_POOL), 1)
CDEFINES += -DCONFIG_PER_VDEV_TX_DESC_POOL
endif
+#Enable Tx mgmt desc reserve
+ifeq ($(CONFIG_TX_DESC_MGMT_RESERVE), 1)
+CDEFINES += -DCONFIG_TX_DESC_MGMT_RESERVE
+endif
+
+
#Enable OS specific IRQ abstraction
ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
CDEFINES += -DATH_SUPPORT_SHARED_IRQ