소스 검색

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 년 전
부모
커밋
09444a10ed
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  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);