From 7e1df40baec6ce2b3e2f5e878a2a7d549407cb7e Mon Sep 17 00:00:00 2001 From: Bala Shanmugam Kamatchi Date: Sat, 22 Mar 2014 07:21:26 +0530 Subject: qcacld: wma: Do not allow packets after medium time Traffic goes in same AC even after medium time elapses. Configure drop policy in firmware so that traffic is not allowed once medium time is elapsed. Change-Id: Icc20dd57e85a4f907f8203c4930817ca0808b699 CRs-Fixed: 622640 --- CORE/SERVICES/WMA/wma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 6d0cd72d8261..31b1482f751c 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -13461,7 +13461,7 @@ static void wma_add_ts_req(tp_wma_handle wma, tAddTsParams *msg) cmd->vdev_id = msg->sessionId; cmd->ac = TID_TO_WME_AC(msg->tspec.tsinfo.traffic.userPrio); cmd->medium_time_us = msg->tspec.mediumTime * 32; - cmd->downgrade_type = WMM_AC_DOWNGRADE_DEPRIO; + cmd->downgrade_type = WMM_AC_DOWNGRADE_DROP; WMA_LOGD("Addts vdev:%d, ac:%d, mediumTime:%d, %s:%d", cmd->vdev_id, cmd->ac, cmd->medium_time_us, __func__, __LINE__); if (wmi_unified_cmd_send(wma->wmi_handle, buf, len, -- cgit v1.2.3 From 38e5b65a978416f68baff5bad481df8d2aebe3fe Mon Sep 17 00:00:00 2001 From: Peng Xu Date: Thu, 27 Mar 2014 11:31:18 -0700 Subject: qcacld:sap: Fix compilation error on x86 Fix compilation error on x86 platform due to undefined compilation flag. Change-Id: Id560fcb59efb65bd05612abedea463cfe1e064b5 --- CORE/SAP/src/sapChSelect.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/CORE/SAP/src/sapChSelect.c b/CORE/SAP/src/sapChSelect.c index eb0a5fe97aa2..147dba10fb8e 100644 --- a/CORE/SAP/src/sapChSelect.c +++ b/CORE/SAP/src/sapChSelect.c @@ -66,9 +66,7 @@ #ifdef ANI_OS_TYPE_QNX #include "stdio.h" #endif -#ifdef FEATURE_WLAN_CH_AVOID #include "wlan_hdd_main.h" -#endif /* FEATURE_WLAN_CH_AVOID */ /*-------------------------------------------------------------------------- Function definitions -- cgit v1.2.3 From b7c6ebd37e505712fb59f9464dc8417b5ef3ba3e Mon Sep 17 00:00:00 2001 From: Rajesh Chauhan Date: Thu, 27 Mar 2014 16:26:56 -0700 Subject: qcacld: Fix issue of data stall on TDLS link Fix regression in TDLS caused by previous commit I963ec2fdf25de8230bf0f71b32baefc46e4e24a7. Change-Id: I2e647ea65a881007b3d39094c53cfdac7eb5f115 CRs-Fixed: 639952 --- CORE/SERVICES/WMA/wma.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 31b1482f751c..2e4c5c677f18 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -6730,6 +6730,12 @@ static int32_t wmi_unified_send_peer_assoc(tp_wma_handle wma, default: break; } + +#ifdef FEATURE_WLAN_TDLS + if (STA_ENTRY_TDLS_PEER == params->staType) + cmd->peer_flags |= WMI_PEER_AUTH; +#endif + if (params->wpa_rsn #ifdef FEATURE_WLAN_WAPI || params->encryptType == eSIR_ED_WPI -- cgit v1.2.3 From cab0557f6e260e79dbdd60094e65465c3bf522f7 Mon Sep 17 00:00:00 2001 From: Vasanthakumar Thiagarajan Date: Thu, 27 Mar 2014 15:08:35 +0530 Subject: qcacld/tlshim: Change debug log level to avoid system freeze There will be time delay between a peer is getting deleted in txrx (and fw) and the HDD is updated with corresponding state of the peer. HDD will keep on sending the traffic to tlshim during this period. This delay can not be avoided due to dozens of message posting and processing before HDD is getting updated. Change the log level of the debug messga printing "Invalid peer" from error to warning to avoid spam followed by system freeze. pAdapter->stats should be good enough to debug issues related to tx failures from HDD. Change-Id: Iad3f966440ab3e0f0e6d49cded936903ac66a7c2 CRs-Fixed: 639452 --- CORE/CLD_TXRX/TLSHIM/tl_shim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CORE/CLD_TXRX/TLSHIM/tl_shim.c b/CORE/CLD_TXRX/TLSHIM/tl_shim.c index 953b349a6d12..44c4604f643c 100644 --- a/CORE/CLD_TXRX/TLSHIM/tl_shim.c +++ b/CORE/CLD_TXRX/TLSHIM/tl_shim.c @@ -982,7 +982,7 @@ adf_nbuf_t WLANTL_SendSTA_DataFrame(void *vos_ctx, u_int8_t sta_id, ((pVosContextType) vos_ctx)->pdev_txrx_ctx, sta_id); if (!peer) { - TLSHIM_LOGE("Invalid peer"); + TLSHIM_LOGW("Invalid peer"); return skb; } -- cgit v1.2.3 From e59db3e2910a08faf04df4764abecf1e9528a865 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Thu, 27 Mar 2014 08:26:33 -0700 Subject: qcacld: Same spin lock for WMI event and command logging Use same spin lock for both WMI event and command logging to avoid race conditions between event and command logging from different threads Change-Id: I4b8ff7aaf9511f4fff75f1e78554d75636357ebc CRs-Fixed: 639762 --- CORE/SERVICES/WMI/wmi_unified.c | 11 +++++------ CORE/SERVICES/WMI/wmi_unified_priv.h | 3 +-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index bf1a2c4d42da..6ec4fd345b65 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -593,9 +593,9 @@ int wmi_unified_cmd_send(wmi_unified_t wmi_handle, wmi_buf_t buf, int len, get_wmi_cmd_string(cmd_id), cmd_id); #ifdef WMI_INTERFACE_EVENT_LOGGING - adf_os_spin_lock_bh(&wmi_handle->wmi_cmd_record_lock); + adf_os_spin_lock_bh(&wmi_handle->wmi_record_lock); WMI_COMMAND_RECORD(cmd_id); - adf_os_spin_unlock_bh(&wmi_handle->wmi_cmd_record_lock); + adf_os_spin_unlock_bh(&wmi_handle->wmi_record_lock); #endif status = HTCSendPkt(wmi_handle->htc_handle, pkt); @@ -765,9 +765,9 @@ void __wmi_control_rx(struct wmi_unified *wmi_handle, wmi_buf_t evt_buf) } #ifdef WMI_INTERFACE_EVENT_LOGGING - adf_os_spin_lock_bh(&wmi_handle->wmi_event_record_lock); + adf_os_spin_lock_bh(&wmi_handle->wmi_record_lock); WMI_EVENT_RECORD(id); - adf_os_spin_unlock_bh(&wmi_handle->wmi_event_record_lock); + adf_os_spin_unlock_bh(&wmi_handle->wmi_record_lock); #endif /* Call the WMI registered event handler */ wmi_handle->event_handler[idx](wmi_handle->scn_handle, @@ -833,8 +833,7 @@ wmi_unified_attach(ol_scn_t scn_handle) INIT_WORK(&wmi_handle->rx_event_work, wmi_rx_event_work); #endif #ifdef WMI_INTERFACE_EVENT_LOGGING - adf_os_spinlock_init(&wmi_handle->wmi_cmd_record_lock); - adf_os_spinlock_init(&wmi_handle->wmi_event_record_lock); + adf_os_spinlock_init(&wmi_handle->wmi_record_lock); #endif return wmi_handle; } diff --git a/CORE/SERVICES/WMI/wmi_unified_priv.h b/CORE/SERVICES/WMI/wmi_unified_priv.h index 9880519a6b9d..a08dcaaa460e 100644 --- a/CORE/SERVICES/WMI/wmi_unified_priv.h +++ b/CORE/SERVICES/WMI/wmi_unified_priv.h @@ -86,8 +86,7 @@ struct wmi_unified { #endif /* WLAN_OPEN_SOURCE */ #ifdef WMI_INTERFACE_EVENT_LOGGING - adf_os_spinlock_t wmi_cmd_record_lock; - adf_os_spinlock_t wmi_event_record_lock; + adf_os_spinlock_t wmi_record_lock; #endif /*WMI_INTERFACE_EVENT_LOGGING*/ }; -- cgit v1.2.3 From c9f02dbefa8cfd2323f6182f46530fb1190a8739 Mon Sep 17 00:00:00 2001 From: Komal Seelam Date: Thu, 27 Mar 2014 16:15:22 +0530 Subject: qcacld: Unpause the Tx queues after sending WOW_WAKEUP_IND to FW. There can be race condition where QCA_SUPPORT_TXRX_VDEV_PAUSE_LL tx paused with tx packets pending and the device suspended. During resume: WOW_WAKEUP_IND to FW is sent after QCA_SUPPORT_TXRX_VDEV_PAUSE_LL tx unpaused. This results in a crash in FW or device may not go to suspend, as the tx descriptor consumed by the tx packets sent before WOW_WAKEUP_IND will not get tx completion which results in fail to suspend. Fix race condition by resuming QCA_SUPPORT_TXRX_VDEV_PAUSE_LL tx after sending WOW_WAKEUP_IND. Change-Id: I3fe17f70280f32a427a42dbb25a1c591e7212f80 CRs-Fixed: 639681 --- CORE/SERVICES/WMA/wma.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 2e4c5c677f18..3ac5c64d21c9 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -12979,6 +12979,12 @@ int wma_disable_wow_in_fw(WMA_HANDLE handle) } WMA_LOGD("WoW Resume in PCIe Context\n"); + + ret = wma_send_host_wakeup_ind_to_fw(wma); + + if (ret != VOS_STATUS_SUCCESS) + return ret; + wma->wow.wow_enable = FALSE; wma->wow.wow_enable_cmd_sent = FALSE; @@ -12998,7 +13004,6 @@ int wma_disable_wow_in_fw(WMA_HANDLE handle) iface->conn_state = FALSE; } - ret = wma_send_host_wakeup_ind_to_fw(wma); vos_wake_lock_timeout_acquire(&wma->wow_wake_lock, 2000); return ret; -- cgit v1.2.3 From 7915206f1407ec5e5c4f790cdf152d3b74194b02 Mon Sep 17 00:00:00 2001 From: Pitani Venkata Rajesh Kumar Date: Fri, 28 Mar 2014 13:15:19 +0530 Subject: Cafstaging Release 1.0.0.76 Cafstaging Release 1.0.0.76 Change-Id: I76c5359c3697bd184083619b58c37463e7254c07 --- CORE/MAC/inc/qwlan_version.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index 78327e46fe20..6554e5c67cf2 100644 --- a/CORE/MAC/inc/qwlan_version.h +++ b/CORE/MAC/inc/qwlan_version.h @@ -41,10 +41,10 @@ BRIEF DESCRIPTION: #define QWLAN_VERSION_MAJOR 1 #define QWLAN_VERSION_MINOR 0 #define QWLAN_VERSION_PATCH 0 -#define QWLAN_VERSION_EXTRA "A" -#define QWLAN_VERSION_BUILD 75 +#define QWLAN_VERSION_EXTRA "" +#define QWLAN_VERSION_BUILD 76 -#define QWLAN_VERSIONSTR "1.0.0.75A" +#define QWLAN_VERSIONSTR "1.0.0.76" #ifdef QCA_WIFI_2_0 -- cgit v1.2.3