Răsfoiți Sursa

qcacmn: Fix mesh non QOS frames issue

If non QOS is enabled in meta header store it in skb priority.
Issue occurred as meta header is getting over written by ext2 header
when the frame is sent to firmware.

Change-Id: I61f90dbd188b70e8960ec84c86fda9678ab21f7c
CRs-Fixed: 2400370
Venkateswara Swamy Bandaru 6 ani în urmă
părinte
comite
09444a10ed
1 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 4 4
      dp/wifi3.0/dp_tx.c

+ 4 - 4
dp/wifi3.0/dp_tx.c

@@ -1738,10 +1738,7 @@ remove_meta_hdr:
 		return NULL;
 	}
 
-	if (mhdr->flags & METAHDR_FLAG_NOQOS)
-		msdu_info->tid = HTT_TX_EXT_TID_NON_QOS_MCAST_BCAST;
-	else
-		msdu_info->tid = qdf_nbuf_get_priority(nbuf);
+	msdu_info->tid = qdf_nbuf_get_priority(nbuf);
 
 	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,
 			"%s , Meta hdr %0x %0x %0x %0x %0x %0x"
@@ -1988,6 +1985,9 @@ qdf_nbuf_t dp_tx_send_mesh(void *vap_dev, qdf_nbuf_t nbuf)
 			(mhdr->flags & METAHDR_FLAG_NOENCRYPT))
 		no_enc_frame = 1;
 
+	if (mhdr->flags & METAHDR_FLAG_NOQOS)
+		qdf_nbuf_set_priority(nbuf, HTT_TX_EXT_TID_NON_QOS_MCAST_BCAST);
+
 	if ((mhdr->flags & METAHDR_FLAG_INFO_UPDATED) &&
 		       !no_enc_frame) {
 		nbuf_clone = qdf_nbuf_clone(nbuf);