diff options
| author | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-03-18 18:43:00 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-03-18 18:44:24 +0530 |
| commit | a029cb2d02ce85f43ed978ce50bea8e52fc33b19 (patch) | |
| tree | 04c756efa379750968fd96e7186bd6531d1bd049 | |
| parent | 24195cdd261d264e586640c86136ea17d48e6a67 (diff) | |
| parent | 33aceccab1f4a9ae7859062a726dc8aa4ae531e6 (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.c | 9 | ||||
| -rw-r--r-- | CORE/CLD_TXRX/TXRX/ol_txrx.h | 3 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_api.c | 2 | ||||
| -rwxr-xr-x | Kbuild | 9 |
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 } @@ -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 |
