summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-26 23:35:01 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-07-26 23:35:01 -0600
commitae51e089f64c0e413256847a476942742794404e (patch)
tree0bec20629d32c158684323a896f6a8e48f9a517e
parentf29dc34f79c4d2eb75d4e8697be041b8e2a3721b (diff)
parentd575348ef79dca9d2f59b5fd88db4e98ae3af239 (diff)
Promotion of wlan-cld3.driver.lnx.1.1-00061.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 688141 I5f48d165ebdd46d107cca29ec8d77fbd8809eaca Release 5.1.0.22D 1040310 I240b5d3158bde068e490dc80c2fa6d282789284c qcacld-3.0: Add vendor ID information in vendor command 1044264 I570fd928e720e9f7ce982fe87da383669f8a9105 qcacld-3.0: Update target type definitions in fw common 1041989 Iacd8d97bcc7a3939cdb2469f6830adc2ffc24765 qcacld-3.0: Prevent overread of UP to AC mapping table 1042043 Ib427d1348b3ff5b13689e24f69e4606f23ea767c qcacld-3.0: Avoid NULL dereference in hdd_init_qdf_ctx() 1040310 Ia889d794cae156814056aeefdfdf339429bf1401 qcacld-3.0: Add vendor ID and fix WMI command parameters 1043823 I22330c4598532142f2c84636e7c890dcb4435e70 qcacld-3.0: Address 32 bit specific compilation issue 1045959 I40f0c2301b686625ea58ef692f816856bbdcf06b qcacld-3.0: Call htc_can_suspend_link in wma_enable_wow_ 688141 I692ab45ab8908ea56bea41c2327e2dced5ca8fd0 Release 5.1.0.22F 688141 I65d01685fffd5874b3421e3e81669b3224cf8e41 Release 5.1.0.22E Change-Id: I254f3f67354ab9860069f588a875c5005a1da592 CRs-Fixed: 1045959, 1044264, 1042043, 688141, 1040310, 1043823, 1041989
-rw-r--r--core/dp/txrx/ol_tx.c9
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c3
-rw-r--r--core/hdd/src/wlan_hdd_driver_ops.c5
-rw-r--r--core/hdd/src/wlan_hdd_wmm.c18
-rw-r--r--core/mac/inc/qwlan_version.h4
-rw-r--r--core/wma/src/wma_features.c22
-rw-r--r--target/inc/bmi_msg.h21
7 files changed, 56 insertions, 26 deletions
diff --git a/core/dp/txrx/ol_tx.c b/core/dp/txrx/ol_tx.c
index 40374f043050..1e49ee1e144b 100644
--- a/core/dp/txrx/ol_tx.c
+++ b/core/dp/txrx/ol_tx.c
@@ -1705,10 +1705,11 @@ void dump_frag_desc(char *msg, struct ol_tx_desc_t *tx_desc)
qdf_print("OL TX Descriptor 0x%p msdu_id %d\n",
tx_desc, tx_desc->id);
- qdf_print("HTT TX Descriptor vaddr: 0x%p paddr: 0x%llx",
- tx_desc->htt_tx_desc, tx_desc->htt_tx_desc_paddr);
- qdf_print("%s %d: Fragment Descriptor 0x%p (paddr=0x%llx)",
- __func__, __LINE__, tx_desc->htt_frag_desc, tx_desc->htt_frag_desc_paddr);
+ qdf_print("HTT TX Descriptor vaddr: 0x%p paddr: %pad",
+ tx_desc->htt_tx_desc, &tx_desc->htt_tx_desc_paddr);
+ qdf_print("%s %d: Fragment Descriptor 0x%p (paddr=%pad)",
+ __func__, __LINE__, tx_desc->htt_frag_desc,
+ &tx_desc->htt_frag_desc_paddr);
/* it looks from htt_tx_desc_frag() that tx_desc->htt_frag_desc
is already de-referrable (=> in virtual address space) */
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 913c2359c1a7..a26d14894d0e 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -6708,6 +6708,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = {
.doit = wlan_hdd_cfg80211_get_link_properties
},
{
+ .info.vendor_id = QCA_NL80211_VENDOR_ID,
.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_OTA_TEST,
.flags = WIPHY_VENDOR_CMD_NEED_WDEV |
WIPHY_VENDOR_CMD_NEED_NETDEV |
@@ -6725,6 +6726,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = {
},
#endif /* FEATURE_LFR_SUBNET_DETECTION */
{
+ .info.vendor_id = QCA_NL80211_VENDOR_ID,
.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE,
.flags = WIPHY_VENDOR_CMD_NEED_WDEV |
WIPHY_VENDOR_CMD_NEED_NETDEV |
@@ -6757,6 +6759,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = {
.doit = wlan_hdd_cfg80211_sap_configuration_set
},
{
+ .info.vendor_id = QCA_NL80211_VENDOR_ID,
.info.subcmd =
QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START,
.flags = WIPHY_VENDOR_CMD_NEED_WDEV |
diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c
index c80913a21ed4..f6fa4d7c6c94 100644
--- a/core/hdd/src/wlan_hdd_driver_ops.c
+++ b/core/hdd/src/wlan_hdd_driver_ops.c
@@ -294,6 +294,11 @@ void hdd_init_qdf_ctx(struct device *dev, void *bdev,
{
qdf_device_t qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
+ if (!qdf_dev) {
+ hdd_err("Invalid QDF device");
+ return;
+ }
+
qdf_dev->dev = dev;
qdf_dev->drv_hdl = bdev;
qdf_dev->bus_type = bus_type;
diff --git a/core/hdd/src/wlan_hdd_wmm.c b/core/hdd/src/wlan_hdd_wmm.c
index 7ecbb79b0995..72ce6f77111c 100644
--- a/core/hdd/src/wlan_hdd_wmm.c
+++ b/core/hdd/src/wlan_hdd_wmm.c
@@ -1643,6 +1643,19 @@ void hdd_wmm_classify_pkt(hdd_adapter_t *adapter,
return;
}
+/**
+ * __hdd_get_queue_index() - get queue index
+ * @up: user priority
+ *
+ * Return: queue_index
+ */
+static uint16_t __hdd_get_queue_index(uint16_t up)
+{
+ if (qdf_unlikely(up >= ARRAY_SIZE(hdd_linux_up_to_ac_map)))
+ return HDD_LINUX_AC_BE;
+ return hdd_linux_up_to_ac_map[up];
+}
+
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
/**
* hdd_get_queue_index() - get queue index
@@ -1656,14 +1669,13 @@ uint16_t hdd_get_queue_index(uint16_t up, bool is_eapol)
{
if (qdf_unlikely(is_eapol == true))
return HDD_LINUX_AC_HI_PRIO;
- else
- return hdd_linux_up_to_ac_map[up];
+ return __hdd_get_queue_index(up);
}
#else
static
uint16_t hdd_get_queue_index(uint16_t up, bool is_eapol)
{
- return hdd_linux_up_to_ac_map[up];
+ return __hdd_get_queue_index(up);
}
#endif
diff --git a/core/mac/inc/qwlan_version.h b/core/mac/inc/qwlan_version.h
index 05002a9595d6..aff4707e7b74 100644
--- a/core/mac/inc/qwlan_version.h
+++ b/core/mac/inc/qwlan_version.h
@@ -41,9 +41,9 @@
#define QWLAN_VERSION_MAJOR 5
#define QWLAN_VERSION_MINOR 1
#define QWLAN_VERSION_PATCH 0
-#define QWLAN_VERSION_EXTRA "C"
+#define QWLAN_VERSION_EXTRA "F"
#define QWLAN_VERSION_BUILD 22
-#define QWLAN_VERSIONSTR "5.1.0.22C"
+#define QWLAN_VERSIONSTR "5.1.0.22F"
#endif /* QWLAN_VERSION_H */
diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c
index c0bb0ff209c9..0b75cf602965 100644
--- a/core/wma/src/wma_features.c
+++ b/core/wma/src/wma_features.c
@@ -3590,7 +3590,7 @@ QDF_STATUS wma_enable_wow_in_fw(WMA_HANDLE handle)
}
param.enable = true;
- param.can_suspend_link = hif_can_suspend_link(wma->htc_handle);
+ param.can_suspend_link = htc_can_suspend_link(wma->htc_handle);
ret = wmi_unified_wow_enable_send(wma->wmi_handle, &param,
WMA_WILDCARD_PDEV_ID);
if (ret) {
@@ -7493,15 +7493,20 @@ QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params)
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
uint8_t *buf_ptr;
int ret;
+ int device_types_len_aligned, probe_resp_len_aligned;
if (NULL == wma) {
WMA_LOGE("%s: wma context is NULL", __func__);
return QDF_STATUS_E_INVAL;
}
- len += 2 * WMI_TLV_HDR_SIZE +
- qdf_roundup(params->dev_types_len, sizeof(A_UINT32)) +
- qdf_roundup(params->probe_resp_len, sizeof(A_UINT32));
+ device_types_len_aligned = qdf_roundup(params->dev_types_len,
+ sizeof(A_UINT32));
+ probe_resp_len_aligned = qdf_roundup(params->probe_resp_len,
+ sizeof(A_UINT32));
+
+ len += 2 * WMI_TLV_HDR_SIZE + device_types_len_aligned +
+ probe_resp_len_aligned;
buf = wmi_buf_alloc(wma->wmi_handle, len);
if (!buf) {
@@ -7524,16 +7529,17 @@ QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params)
cmd->period = params->period;
cmd->interval = params->interval;
cmd->count = params->count;
+ cmd->device_types_len = params->dev_types_len;
+ cmd->prob_resp_len = params->probe_resp_len;
buf_ptr += sizeof(wmi_p2p_lo_start_cmd_fixed_param);
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE,
- qdf_roundup(params->dev_types_len, sizeof(A_UINT32)));
+ device_types_len_aligned);
buf_ptr += WMI_TLV_HDR_SIZE;
qdf_mem_copy(buf_ptr, params->device_types, params->dev_types_len);
- buf_ptr += qdf_roundup(params->dev_types_len, sizeof(A_UINT32));
- WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE,
- qdf_roundup(params->probe_resp_len, sizeof(A_UINT32)));
+ buf_ptr += device_types_len_aligned;
+ WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE, probe_resp_len_aligned);
buf_ptr += WMI_TLV_HDR_SIZE;
qdf_mem_copy(buf_ptr, params->probe_resp_tmplt, params->probe_resp_len);
diff --git a/target/inc/bmi_msg.h b/target/inc/bmi_msg.h
index d1aa1ee102ef..be38713e8c96 100644
--- a/target/inc/bmi_msg.h
+++ b/target/inc/bmi_msg.h
@@ -249,21 +249,24 @@ PREPACK struct bmi_target_info {
#define TARGET_TYPE_AR9888 7
#define TARGET_TYPE_AR6320 8
#define TARGET_TYPE_AR900B 9
-#define TARGET_TYPE_QCA9984 10
-#define TARGET_TYPE_IPQ4019 11
-#define TARGET_TYPE_QCA9888 12
/* For attach Peregrine 2.0 board target_reg_tbl only */
-#define TARGET_TYPE_AR9888V2 13
+#define TARGET_TYPE_AR9888V2 10
/* For attach Rome1.0 target_reg_tbl only*/
-#define TARGET_TYPE_AR6320V1 14
+#define TARGET_TYPE_AR6320V1 11
/* For Rome2.0/2.1 target_reg_tbl ID*/
-#define TARGET_TYPE_AR6320V2 15
+#define TARGET_TYPE_AR6320V2 12
/* For Rome3.0 target_reg_tbl ID*/
-#define TARGET_TYPE_AR6320V3 16
+#define TARGET_TYPE_AR6320V3 13
/* For Tufello1.0 target_reg_tbl ID*/
-#define TARGET_TYPE_QCA9377V1 17
+#define TARGET_TYPE_QCA9377V1 14
+/* cascade */
+#define TARGET_TYPE_QCA9984 15
+/* dakota */
+#define TARGET_TYPE_IPQ4019 16
+/* besra */
+#define TARGET_TYPE_QCA9888 17
/* For Adrastea target */
-#define TARGET_TYPE_ADRASTEA 19
+#define TARGET_TYPE_ADRASTEA 19
extern void target_register_tbl_attach(A_UINT32 target_type);