Bläddra i källkod

qcacld-3.0: Add new index in SME AC type

Since AC/UP table is 4 entries long and linux AC queue has 5 entries,
packets coming for new queue are going out of bound.

Add changes to add one more index in SME AC type to handle this.

Change-Id: Ifaeb6f2c68177887759c3582dd7bc6ff56673d7d
CRs-Fixed: 1064813
Poddar, Siddarth 8 år sedan
förälder
incheckning
4acb30a8d3
1 ändrade filer med 16 tillägg och 6 borttagningar
  1. 16 6
      core/hdd/src/wlan_hdd_tx_rx.c

+ 16 - 6
core/hdd/src/wlan_hdd_tx_rx.c

@@ -62,14 +62,22 @@
 #include "wlan_hdd_nan_datapath.h"
 #include "pld_common.h"
 
-const uint8_t hdd_wmm_ac_to_highest_up[] = {
-	SME_QOS_WMM_UP_RESV,
-	SME_QOS_WMM_UP_EE,
-	SME_QOS_WMM_UP_VI,
-	SME_QOS_WMM_UP_NC
+#ifdef QCA_LL_TX_FLOW_CONTROL_V2
+/*
+ * Mapping Linux AC interpretation to SME AC.
+ * Host has 5 tx queues, 4 flow-controlled queues for regular traffic and
+ * one non-flow-controlled queue for high priority control traffic(EOPOL, DHCP).
+ * The fifth queue is mapped to AC_VO to allow for proper prioritization.
+ */
+const uint8_t hdd_qdisc_ac_to_tl_ac[] = {
+	SME_AC_VO,
+	SME_AC_VI,
+	SME_AC_BE,
+	SME_AC_BK,
+	SME_AC_VO,
 };
 
-/* Mapping Linux AC interpretation to SME AC. */
+#else
 const uint8_t hdd_qdisc_ac_to_tl_ac[] = {
 	SME_AC_VO,
 	SME_AC_VI,
@@ -77,6 +85,8 @@ const uint8_t hdd_qdisc_ac_to_tl_ac[] = {
 	SME_AC_BK,
 };
 
+#endif
+
 #ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
 /**
  * hdd_tx_resume_timer_expired_handler() - TX Q resume timer handler