소스 검색

qcacld-3.0: Do not intrabss fwd frag EAPOL frames in HL

Do not intrabss forward fragmented EAPOL frames that have
DA different from the SAP vdev mac addr when high latency
is enabled.

Change-Id: Idb6e6c001f4dae51c2181e70ab9adbbb964f0ee3
CRs-Fixed: 2942096
Yeshwanth Sriram Guntuka 4 년 전
부모
커밋
7ccead5da9
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      core/dp/txrx/ol_rx_fwd.c

+ 8 - 1
core/dp/txrx/ol_rx_fwd.c

@@ -149,6 +149,7 @@ ol_rx_fwd_check(struct ol_txrx_vdev_t *vdev,
 	while (msdu) {
 		struct ol_txrx_vdev_t *tx_vdev;
 		void *rx_desc;
+		uint16_t off = 0;
 		/*
 		 * Remember the next list elem, because our processing
 		 * may cause the MSDU to get linked into a different list.
@@ -203,8 +204,14 @@ ol_rx_fwd_check(struct ol_txrx_vdev_t *vdev,
 				continue;
 			}
 
+			if (pdev->cfg.is_high_latency)
+				off = htt_rx_msdu_rx_desc_size_hl(
+								 pdev->htt_pdev,
+								 rx_desc);
+
 			if (vdev->opmode == wlan_op_mode_ap &&
-			    qdf_nbuf_is_ipv4_eapol_pkt(msdu) &&
+			    __qdf_nbuf_data_is_ipv4_eapol_pkt(
+						   qdf_nbuf_data(msdu) + off) &&
 			    qdf_mem_cmp(qdf_nbuf_data(msdu) +
 					QDF_NBUF_DEST_MAC_OFFSET,
 					vdev->mac_addr.raw,