Browse Source

qcacmn: Add mac address check in mec handler

Add a check in mec handler to see if mac_address is same as that of
vdev_macaddr.raw. If both mac addresses are equal, then add_wds_entry should
not be called. This corner case is seen in qwrap mode where the vdev address
is same as that of the backend wired station

Change-Id: I17504de8ef379680c2a2b962280e1853a5b2930d
CRs-fixed: 2109554
Nandha Kishore Easwaran 7 years ago
parent
commit
b39fce7bc3
1 changed files with 3 additions and 2 deletions
  1. 3 2
      dp/wifi3.0/dp_tx.c

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

@@ -1813,8 +1813,9 @@ void dp_tx_mec_handler(struct dp_vdev *vdev, uint8_t *status)
 		mac_addr[(DP_MAC_ADDR_LEN - 1) - i] =
 					status[(DP_MAC_ADDR_LEN - 2) + i];
 
-	if (!dp_peer_add_ast(soc, peer, mac_addr, 2)) {
-		soc->cdp_soc.ol_ops->peer_add_wds_entry(
+	if (qdf_mem_cmp(mac_addr, vdev->mac_addr.raw, DP_MAC_ADDR_LEN) &&
+		!dp_peer_add_ast(soc, peer, mac_addr, 2)) {
+			soc->cdp_soc.ol_ops->peer_add_wds_entry(
 				vdev->pdev->osif_pdev,
 				mac_addr,
 				vdev->mac_addr.raw,