Explorar el Código

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 hace 6 años
padre
commit
09444a10ed
Se han modificado 1 ficheros con 4 adiciones y 4 borrados
  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);