Selaa lähdekoodia

qcacmn: Fix for ping failure due to intrabss fwd logic

Intrabss forwarding logic turns around bcast (ARP) pkts on the
SAP with peer source addr. So a AST lookup on AddrY results will
route the pkt to HW and not FW which is not the design. Fix is to
enable lookup only on AddrX in SAP mode.

Change-Id: Iea41c53fd818acfb8dbfd9ad1582e43ba1c4bc83
CRs-Fixed: 2029656
Pramod Simha 8 vuotta sitten
vanhempi
sitoutus
bc0a546d58
1 muutettua tiedostoa jossa 8 lisäystä ja 3 poistoa
  1. 8 3
      dp/wifi3.0/dp_tx.c

+ 8 - 3
dp/wifi3.0/dp_tx.c

@@ -687,10 +687,15 @@ static QDF_STATUS dp_tx_hw_enqueue(struct dp_soc *soc, struct dp_vdev *vdev,
 
 	/*
 	 * TODO
-	 * Fix this , this should be based on vdev opmode (AP or STA)
-	 * Enable both AddrX and AddrY flags for now
+	 * For AP mode, enable AddrX flag only
+	 * For all other modes, enable both AddrX and AddrY
+	 * flags for now
 	 */
-	hal_tx_desc_set_addr_search_flags(hal_tx_desc_cached,
+	if (vdev->opmode == wlan_op_mode_ap)
+		hal_tx_desc_set_addr_search_flags(hal_tx_desc_cached,
+			HAL_TX_DESC_ADDRX_EN);
+	else
+		hal_tx_desc_set_addr_search_flags(hal_tx_desc_cached,
 			HAL_TX_DESC_ADDRX_EN | HAL_TX_DESC_ADDRY_EN);
 
 	if ((qdf_nbuf_get_tx_cksum(tx_desc->nbuf) == QDF_NBUF_TX_CKSUM_TCP_UDP)