summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-05-16 08:31:16 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-05-16 08:31:16 -0600
commit3cabd34c0a0d6887265c85b144e176809f4e50c9 (patch)
tree2c75d44a92ca61ae82cfb4a418ff3a9ce155da85
parent6ba301a7a1d44ec13a7a0278ef39ddad6445e24e (diff)
parent2ea34b3b2aff323d386f86b601b44afb1863f0ed (diff)
Promotion of wlan-cld2.driver.lnx.1.0-00012.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 688141 I4017998e16a44fa5f6f496a4e82541a1761a5f72 Release 4.0.11.79 1013006 Ia60e49a403a0d689d1ba8397f7c796cd911ab918 qcacld-2.0: Fix WMI command tx failure 1010982 I5956f9daa06225535ae4f10aed4ebe310f7acc7a qcacld-2.0: Guard driver cfg80211 abort scan implementat 1011854 Id190d471c91a4a0d87ae1bc43c771b71e60fb1f1 qcacld-2.0: Avoid potential recursive calls 1014781 Id23f398319562111cc792002578c6ce6998e8a4a qcacld-2.0: Fix potential memory overflow 990808 I58577b5d2addf7614d8ee458df0ce4632dafa7c0 qcacld-2.0: Ignore active timeout handler in case of ROC 688141 I9184c3c5700359c857a20dddaabc17cdf7362910 Release 4.0.11.78 1014859 I6980927b25c34b9b4d8ac13c22e93abc4ec500ec qcacld-2.0: Fix incorrect logic to disable hi_rssi featu 1007109 Ibc2da1c2cca7e704b21686ab795224462dd9f913 qcacld-2.0: Set valid min value for gTDLSPrefOffChanBand Change-Id: Ia4a7a3386da198569d3439d8e0cf94a5f068ba1c CRs-Fixed: 1007109, 1014781, 1013006, 1014859, 688141, 1010982, 1011854, 990808
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h2
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c6
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/SERVICES/HTC/htc_send.c8
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c2
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c10
-rw-r--r--CORE/SVC/src/nlink/wlan_nlink_srv.c3
-rw-r--r--CORE/UTILS/FWLOG/dbglog_host.c14
-rw-r--r--CORE/VOSS/src/vos_api.c10
9 files changed, 40 insertions, 19 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 9a76ddfde313..325e5bd9373f 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2209,7 +2209,7 @@ typedef enum
* and select one, based on the capability of peer.
*/
#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW "gTDLSPrefOffChanBandwidth"
-#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN (0)
+#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN (1)
#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MAX (0x0F)
#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_DEFAULT (0x07)
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index d427b5aa77e4..ef4227e1876a 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -25026,6 +25026,8 @@ void wlan_hdd_cfg80211_extscan_callback(void *ctx, const tANI_U16 evType,
#endif /* FEATURE_WLAN_EXTSCAN */
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) || \
+ defined(CFG80211_ABORT_SCAN)
/**
* __wlan_hdd_cfg80211_abort_scan() - cfg80211 abort scan api
* @wiphy: Pointer to wiphy
@@ -25074,6 +25076,7 @@ static void wlan_hdd_cfg80211_abort_scan(struct wiphy *wiphy,
__wlan_hdd_cfg80211_abort_scan(wiphy, wdev);
vos_ssr_unprotect(__func__);
}
+#endif
/* cfg80211_ops */
static struct cfg80211_ops wlan_hdd_cfg80211_ops =
@@ -25149,5 +25152,8 @@ static struct cfg80211_ops wlan_hdd_cfg80211_ops =
#ifdef CHANNEL_SWITCH_SUPPORTED
.channel_switch = wlan_hdd_cfg80211_channel_switch,
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) || \
+ defined(CFG80211_ABORT_SCAN)
.abort_scan = wlan_hdd_cfg80211_abort_scan,
+#endif
};
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 3a9101bd0047..46f33fcb4c43 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 11
#define QWLAN_VERSION_EXTRA ""
-#define QWLAN_VERSION_BUILD 77
+#define QWLAN_VERSION_BUILD 79
-#define QWLAN_VERSIONSTR "4.0.11.77"
+#define QWLAN_VERSIONSTR "4.0.11.79"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/SERVICES/HTC/htc_send.c b/CORE/SERVICES/HTC/htc_send.c
index 474e06acca9d..b644340a0643 100644
--- a/CORE/SERVICES/HTC/htc_send.c
+++ b/CORE/SERVICES/HTC/htc_send.c
@@ -1124,10 +1124,14 @@ static HTC_SEND_QUEUE_RESULT HTCTrySend(HTC_TARGET *target,
/*
* Header and payload belongs to the different fragments and
* consume 2 resource for one HTC package but USB conbime into
- * one transfer.
+ * one transfer. And one WMI message only consumes one single
+ * resource.
*/
if (HTC_ENABLE_BUNDLE(target) && tx_resources) {
- tx_resources = (HTC_MAX_MSG_PER_BUNDLE_TX * 2);
+ if (pEndpoint->ServiceID == WMI_CONTROL_SVC)
+ tx_resources = HTC_MAX_MSG_PER_BUNDLE_TX;
+ else
+ tx_resources = (HTC_MAX_MSG_PER_BUNDLE_TX * 2);
}
#endif
#endif
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 20ddeffd19b6..d031172f4c1d 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -13734,7 +13734,7 @@ eHalStatus csrSendJoinReqMsg( tpAniSirGlobal pMac, tANI_U32 sessionId, tSirBssDe
if ((eWNI_SME_REASSOC_REQ == messageType) ||
CSR_IS_CHANNEL_5GHZ(pBssDescription->channelId) ||
(abs(pBssDescription->rssi) <
- (neigh_roam_info->cfgParams.neighborLookupThreshold +
+ (neigh_roam_info->cfgParams.neighborLookupThreshold -
neigh_roam_info->cfgParams.hi_rssi_scan_rssi_delta))) {
pSession->disable_hi_rssi = true;
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_DEBUG,
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index 30eb9d09794d..eea90b299b2c 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -14050,6 +14050,8 @@ void activeListCmdTimeoutHandle(void *userData)
{
tHalHandle hal = (tHalHandle) userData;
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal);
+ tListElem *entry;
+ tSmeCmd *temp_cmd = NULL;
if (NULL == mac_ctx) {
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_FATAL,
@@ -14076,6 +14078,14 @@ void activeListCmdTimeoutHandle(void *userData)
vosTraceDumpAll(mac_ctx, 0, 0, 500, 0);
}
+ entry = csrLLPeekHead(&mac_ctx->sme.smeCmdActiveList, LL_ACCESS_LOCK);
+ if (entry)
+ temp_cmd = GET_BASE_ADDR(entry, tSmeCmd, Link);
+
+ /* Ignore if ROC took more than 120 sec */
+ if (temp_cmd && (eSmeCommandRemainOnChannel == temp_cmd->command))
+ return;
+
if (mac_ctx->sme.enableSelfRecovery) {
sme_SaveActiveCmdStats(hal);
vos_trigger_recovery();
diff --git a/CORE/SVC/src/nlink/wlan_nlink_srv.c b/CORE/SVC/src/nlink/wlan_nlink_srv.c
index 61d5e096e1c5..96ae6c509993 100644
--- a/CORE/SVC/src/nlink/wlan_nlink_srv.c
+++ b/CORE/SVC/src/nlink/wlan_nlink_srv.c
@@ -74,8 +74,7 @@ int nl_srv_init(void *wiphy)
wiphy_ptr = wiphy;
radio_idx = cnss_logger_device_register(wiphy, THIS_MODULE->name);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
- "%s: radio_index: %d, wiphy_ptr: %p",
- __func__, radio_idx, wiphy_ptr);
+ "%s: radio_index: %d", __func__, radio_idx);
if (radio_idx >= 0)
logger_initialized = true;
diff --git a/CORE/UTILS/FWLOG/dbglog_host.c b/CORE/UTILS/FWLOG/dbglog_host.c
index e1b8fe10e833..c1275ffe163d 100644
--- a/CORE/UTILS/FWLOG/dbglog_host.c
+++ b/CORE/UTILS/FWLOG/dbglog_host.c
@@ -1647,6 +1647,7 @@ send_fw_diag_nl_data(const u_int8_t *buffer,
int res = 0;
tAniNlHdr *wnl;
int radio;
+ int msg_len;
if (WARN_ON(len > ATH6KL_FWLOG_PAYLOAD_SIZE))
return -ENODEV;
@@ -1660,13 +1661,14 @@ send_fw_diag_nl_data(const u_int8_t *buffer,
if (vos_is_multicast_logging())
{
- skb_out = nlmsg_new(len, 0);
+ msg_len = len + sizeof(radio);
+ skb_out = nlmsg_new(msg_len, GFP_KERNEL);
if (!skb_out)
{
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to allocate new skb\n"));
return -1;
}
- nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG, len, 0);
+ nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG, msg_len, 0);
wnl = (tAniNlHdr *)nlh;
wnl->radio = radio;
@@ -1706,9 +1708,9 @@ send_diag_netlink_data(const u_int8_t *buffer, A_UINT32 len, A_UINT32 cmd)
return -EIO;
if (vos_is_multicast_logging()) {
- slot_len = sizeof(*slot) + ATH6KL_FWLOG_PAYLOAD_SIZE;
+ slot_len = sizeof(*slot) + ATH6KL_FWLOG_PAYLOAD_SIZE + sizeof(radio);
- skb_out = nlmsg_new(slot_len, 0);
+ skb_out = nlmsg_new(slot_len, GFP_KERNEL);
if (!skb_out) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Failed to allocate new skb\n"));
@@ -1764,9 +1766,9 @@ dbglog_process_netlink_data(wmi_unified_t wmi_handle, const u_int8_t *buffer,
if (vos_is_multicast_logging())
{
- slot_len = sizeof(*slot) + ATH6KL_FWLOG_PAYLOAD_SIZE;
+ slot_len = sizeof(*slot) + ATH6KL_FWLOG_PAYLOAD_SIZE + sizeof(radio);
- skb_out = nlmsg_new(slot_len, 0);
+ skb_out = nlmsg_new(slot_len, GFP_KERNEL);
if (!skb_out)
{
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to allocate new skb\n"));
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index 6e5629589bd9..c9cb7630060d 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -2979,8 +2979,8 @@ inline void vos_pkt_stats_to_logger_thread(void *pl_hdr, void *pkt_dump,
int vos_get_radio_index(void)
{
if (gpVosContext == NULL) {
- VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
- FL("global voss context is NULL"));
+ /* this should never change to use VOS_TRACE interface */
+ pr_err("global voss context is NULL\n");
return -EINVAL;
}
return gpVosContext->radio_index;
@@ -2995,11 +2995,11 @@ int vos_get_radio_index(void)
int vos_set_radio_index(int radio_index)
{
if (gpVosContext == NULL) {
- VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
- FL("global voss context is NULL"));
+ /* this should never change to use VOS_TRACE interface */
+ pr_err("global voss context is NULL\n");
return -EINVAL;
}
- gpVosContext->radio_index = radio_index;
+ gpVosContext->radio_index = radio_index;
return 0;
}