summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-02-28 13:06:55 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-02-28 13:06:55 -0800
commitd14fd020eb03477804e53b06b28e961d97edcd1a (patch)
tree9b1c2db41dc16a93a392dc3ff4864e4ef8ff17ae
parentdb5b5f132754771bec07f3db4494f6a6c6ce71d9 (diff)
parentabd7fdb4b95ef6cda35d22c3d1195355e7b9ddef (diff)
Merge "Release 4.0.10.44 QCACLD WLAN Driver"
-rw-r--r--CORE/HDD/inc/wlan_hdd_tdls.h6
-rw-r--r--CORE/HDD/src/wlan_hdd_assoc.c7
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c5
-rw-r--r--CORE/HDD/src/wlan_hdd_hostapd.c2
-rw-r--r--CORE/HDD/src/wlan_hdd_tdls.c16
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/SAP/src/sapChSelect.c11
-rw-r--r--CORE/SERVICES/HIF/sdio/hif_sdio_recv.c3
-rw-r--r--CORE/SERVICES/WMA/wma.c9
9 files changed, 34 insertions, 29 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_tdls.h b/CORE/HDD/inc/wlan_hdd_tdls.h
index dbe529536270..e726ac6b1244 100644
--- a/CORE/HDD/inc/wlan_hdd_tdls.h
+++ b/CORE/HDD/inc/wlan_hdd_tdls.h
@@ -95,7 +95,7 @@ typedef struct
typedef struct
{
struct wiphy *wiphy;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev;
#endif
struct cfg80211_scan_request *scan_request;
@@ -327,14 +327,14 @@ hddTdlsPeer_t *wlan_hdd_tdls_is_progress(hdd_context_t *pHddCtx, u8* mac, u8 ski
int wlan_hdd_tdls_copy_scan_context(hdd_context_t *pHddCtx,
struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev,
#endif
struct cfg80211_scan_request *request);
int wlan_hdd_tdls_scan_callback (hdd_adapter_t *pAdapter,
struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev,
#endif
struct cfg80211_scan_request *request);
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index 89502f842caa..a7c7314e7007 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -3197,14 +3197,14 @@ hdd_indicateUnprotMgmtFrame(hdd_adapter_t *pAdapter, tANI_U32 nFrameLength,
/* Get pAdapter from Destination mac address of the frame */
if (type == SIR_MAC_MGMT_FRAME && subType == SIR_MAC_MGMT_DISASSOC) {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(WITH_BACKPORTS)
cfg80211_rx_unprot_mlme_mgmt(pAdapter->dev, pbFrames, nFrameLength);
#else
cfg80211_send_unprot_disassoc(pAdapter->dev, pbFrames, nFrameLength);
#endif
pAdapter->hdd_stats.hddPmfStats.numUnprotDisassocRx++;
} else if (type == SIR_MAC_MGMT_FRAME && subType == SIR_MAC_MGMT_DEAUTH) {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(WITH_BACKPORTS)
cfg80211_rx_unprot_mlme_mgmt(pAdapter->dev, pbFrames, nFrameLength);
#else
cfg80211_send_unprot_deauth(pAdapter->dev, pbFrames, nFrameLength);
@@ -3730,7 +3730,8 @@ hdd_smeRoamCallback(void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U32 roamId,
hdd_SendFTEvent(pAdapter);
break;
#endif
-#if defined(FEATURE_WLAN_LFR) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+#if defined(FEATURE_WLAN_LFR) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) \
+ || defined(WITH_BACKPORTS)
case eCSR_ROAM_PMK_NOTIFY:
if (eCSR_AUTH_TYPE_RSN == pHddStaCtx->conn_info.authType)
{
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index db8ec3d93928..95abcc5a43c3 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -9938,7 +9938,8 @@ static int wlan_hdd_cfg80211_update_bss( struct wiphy *wiphy,
pmkid[11], pmkid[12], pmkid[13], pmkid[14], pmkid[15]); \
}
-#if defined(FEATURE_WLAN_LFR) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+#if defined(FEATURE_WLAN_LFR) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))\
+ || defined(WITH_BACKPORTS)
/*
* FUNCTION: wlan_hdd_cfg80211_pmksa_candidate_notify
* This function is used to notify the supplicant of a new PMKSA candidate.
@@ -14160,7 +14161,7 @@ static int __wlan_hdd_cfg80211_sched_scan_start(struct wiphy *wiphy,
/*Copying list of valid channel into request */
memcpy(pPnoRequest->aNetworks[i].aChannels, valid_ch, num_ch);
pPnoRequest->aNetworks[i].ucChannelCount = num_ch;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) || defined(WITH_BACKPORTS)
pPnoRequest->aNetworks[i].rssiThreshold =
request->match_sets[i].rssi_thold;
#else
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 21e1cd2c6ae9..2fc9d9f9b243 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -1316,7 +1316,7 @@ VOS_STATUS hdd_hostapd_SAPEventCB( tpSap_Event pSapEvent, v_PVOID_t usrDataForCa
staInfo.assoc_req_ies =
(const u8 *)&pSapEvent->sapevt.sapStationAssocReassocCompleteEvent.ies[0];
staInfo.assoc_req_ies_len = iesLen;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,31))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,31)) || defined(WITH_BACKPORTS)
staInfo.filled |= STATION_INFO_ASSOC_REQ_IES;
#endif
cfg80211_new_sta(dev,
diff --git a/CORE/HDD/src/wlan_hdd_tdls.c b/CORE/HDD/src/wlan_hdd_tdls.c
index 3f85a8b1a99f..11e1b9dec208 100644
--- a/CORE/HDD/src/wlan_hdd_tdls.c
+++ b/CORE/HDD/src/wlan_hdd_tdls.c
@@ -483,7 +483,7 @@ static void wlan_hdd_tdls_schedule_scan(struct work_struct *work)
scan_ctx->attempt++;
wlan_hdd_cfg80211_scan(scan_ctx->wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
scan_ctx->dev,
#endif
scan_ctx->scan_request);
@@ -2497,7 +2497,7 @@ static void wlan_hdd_tdls_pre_setup(struct work_struct *work)
int wlan_hdd_tdls_copy_scan_context(hdd_context_t *pHddCtx,
struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev,
#endif
struct cfg80211_scan_request *request)
@@ -2514,7 +2514,7 @@ int wlan_hdd_tdls_copy_scan_context(hdd_context_t *pHddCtx,
scan_ctx = &pHddCtx->tdls_scan_ctxt;
scan_ctx->wiphy = wiphy;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
scan_ctx->dev = dev;
#endif
@@ -2524,7 +2524,7 @@ int wlan_hdd_tdls_copy_scan_context(hdd_context_t *pHddCtx,
static void wlan_hdd_tdls_scan_init_work(hdd_context_t *pHddCtx,
struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev,
#endif
struct cfg80211_scan_request *request,
@@ -2532,7 +2532,7 @@ static void wlan_hdd_tdls_scan_init_work(hdd_context_t *pHddCtx,
{
if (TDLS_CTX_MAGIC != pHddCtx->tdls_scan_ctxt.magic)
{
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
wlan_hdd_tdls_copy_scan_context(pHddCtx, wiphy, dev, request);
#else
wlan_hdd_tdls_copy_scan_context(pHddCtx, wiphy, request);
@@ -2549,7 +2549,7 @@ static void wlan_hdd_tdls_scan_init_work(hdd_context_t *pHddCtx,
*/
int wlan_hdd_tdls_scan_callback (hdd_adapter_t *pAdapter,
struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
struct net_device *dev,
#endif
struct cfg80211_scan_request *request)
@@ -2601,7 +2601,7 @@ int wlan_hdd_tdls_scan_callback (hdd_adapter_t *pAdapter,
__func__, connectedTdlsPeers, pHddCtx->tdls_scan_ctxt.attempt, delay);
wlan_hdd_tdls_scan_init_work (pHddCtx, wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
dev,
#endif
request,
@@ -2698,7 +2698,7 @@ int wlan_hdd_tdls_scan_callback (hdd_adapter_t *pAdapter,
delay);
wlan_hdd_tdls_scan_init_work (pHddCtx, wiphy,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)) && !defined(WITH_BACKPORTS)
dev,
#endif
request,
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 5e8e2dcbdc08..7f140f8af112 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 43
+#define QWLAN_VERSION_BUILD 44
-#define QWLAN_VERSIONSTR "4.0.10.43"
+#define QWLAN_VERSIONSTR "4.0.10.44"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/SAP/src/sapChSelect.c b/CORE/SAP/src/sapChSelect.c
index d9e9842c6ae1..88be796dd414 100644
--- a/CORE/SAP/src/sapChSelect.c
+++ b/CORE/SAP/src/sapChSelect.c
@@ -350,7 +350,16 @@ sap_process_avoid_ie(tHalHandle hal,
*/
for (i = 0; i < spect_info->numSpectChans; i++) {
if (spect_ch[i].chNum == avoid_ch_ie->channel) {
- spect_ch[i].weight = ACS_WEIGHT_MAX;
+ /*
+ * weight is set more than max so that,
+ * in the case of other channels being
+ * assigned max weight due to noise,
+ * they may be preferred over channels
+ * with Q2Q IE.
+ */
+ spect_ch[i].weight = ACS_WEIGHT_MAX + 1;
+ spect_ch[i].weight_copy =
+ ACS_WEIGHT_MAX + 1;
break;
}
}
diff --git a/CORE/SERVICES/HIF/sdio/hif_sdio_recv.c b/CORE/SERVICES/HIF/sdio/hif_sdio_recv.c
index cef2df28a1dd..f51a13bc7202 100644
--- a/CORE/SERVICES/HIF/sdio/hif_sdio_recv.c
+++ b/CORE/SERVICES/HIF/sdio/hif_sdio_recv.c
@@ -676,6 +676,9 @@ static A_STATUS HIFDevIssueRecvPacketBundle(HIF_SDIO_DEVICE *pDev,
*pNumPacketsFetched = i;
HTC_PACKET_QUEUE_ITERATE_ALLOW_REMOVE(pSyncCompletionQueue, pPacket){
paddedLength = DEV_CALC_RECV_PADDED_LEN(pDev, pPacket->ActualLength);
+ if (pPacket->PktInfo.AsRx.HTCRxFlags & HTC_RX_PKT_LAST_BUNDLED_PKT_HAS_ADDTIONAL_BLOCK){
+ paddedLength += HIF_MBOX_BLOCK_SIZE;
+ }
A_MEMCPY(pPacket->pBuffer, pBuffer, paddedLength);
pBuffer += paddedLength;
}HTC_PACKET_QUEUE_ITERATE_END;
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 53f38e063c4e..cf26a4a30e49 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -25158,25 +25158,16 @@ VOS_STATUS wma_process_ch_avoid_update_req(tp_wma_handle wma_handle,
void wma_scan_completion_timeout(void *data)
{
tp_wma_handle wma_handle;
- tSirScanOffloadEvent *scan_event;
u_int8_t vdev_id;
WMA_LOGE("%s: Timeout occured for scan command", __func__);
wma_handle = (tp_wma_handle) data;
- scan_event = (tSirScanOffloadEvent *) vos_mem_malloc
- (sizeof(tSirScanOffloadEvent));
- if (!scan_event) {
- WMA_LOGE("%s: Memory allocation failed for tSirScanOffloadEvent", __func__);
- return;
- }
-
vdev_id = wma_handle->wma_scan_timer_info.vdev_id;
if (wma_handle->wma_scan_timer_info.scan_id !=
wma_handle->interfaces[vdev_id].scan_info.scan_id) {
- vos_mem_free(scan_event);
WMA_LOGE("%s: Scan ID mismatch", __func__);
return;
}