diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index d5a2f1401d..ad3e769874 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -3122,14 +3122,16 @@ void dp_tx_nawds_handler(struct dp_soc *soc, struct dp_vdev *vdev, qdf_ether_header_t *eh = (qdf_ether_header_t *)qdf_nbuf_data(nbuf); if (!soc->ast_offload_support) { - qdf_spin_lock_bh(&soc->ast_lock); - ast_entry = dp_peer_ast_hash_find_by_pdevid - (soc, - (uint8_t *)(eh->ether_shost), - vdev->pdev->pdev_id); - if (ast_entry) - sa_peer_id = ast_entry->peer_id; - qdf_spin_unlock_bh(&soc->ast_lock); + if (qdf_nbuf_get_tx_ftype(nbuf) == CB_FTYPE_INTRABSS_FWD) { + qdf_spin_lock_bh(&soc->ast_lock); + ast_entry = dp_peer_ast_hash_find_by_pdevid + (soc, + (uint8_t *)(eh->ether_shost), + vdev->pdev->pdev_id); + if (ast_entry) + sa_peer_id = ast_entry->peer_id; + qdf_spin_unlock_bh(&soc->ast_lock); + } } else { if ((qdf_nbuf_get_tx_ftype(nbuf) == CB_FTYPE_INTRABSS_FWD) && qdf_nbuf_get_tx_fctx(nbuf))