diff --git a/dp/wifi3.0/be/dp_be.c b/dp/wifi3.0/be/dp_be.c index d5a1f29571..1215dbfe53 100644 --- a/dp/wifi3.0/be/dp_be.c +++ b/dp/wifi3.0/be/dp_be.c @@ -1503,6 +1503,9 @@ static void dp_txrx_set_mlo_mcast_primary_vdev_param_be( dp_mcast_mlo_iter_ptnr_soc(be_soc, dp_tx_mcast_mlo_reinject_routing_set, (void *)&be_vdev->mcast_primary); + } else { + hal_tx_vdev_mcast_ctrl_set(hal_soc, vdev_id, + HAL_TX_MCAST_CTRL_DROP); } } #else diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index 3227277b2a..27675416fa 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -4872,6 +4872,7 @@ dp_tx_mcast_reinject_handler(struct dp_soc *soc, struct dp_tx_desc_s *desc) qdf_nbuf_len(desc->nbuf)); soc->arch_ops.dp_tx_mcast_handler(soc, vdev, desc->nbuf); dp_tx_desc_release(desc, desc->pool_id); + dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_TX_COMP); return true; }