qcacmn: MLO Mcast Support for ML-Reconfig
1.Add check in Tx completion path to handle mcast packets from all ML partner vdevs 2.Handle cases where a ML mcast vdev can be deleted and started as NON-ML vdev and viceversa by adding reset ML mcast conf. 3.Optimized Register configurations for Mcast at Init/Delete and Start/Stop AP Change-Id: Iab8a5a081e2e0377509574d362754d32c5b83df2 CRs-Fixed: 3350350
This commit is contained in:

committed by
Madan Koyyalamudi

parent
3bae1f975c
commit
069ca18f58
@@ -5470,7 +5470,8 @@ dp_tx_mcast_reinject_handler(struct dp_soc *soc, struct dp_tx_desc_s *desc)
|
||||
struct dp_vdev *vdev = NULL;
|
||||
|
||||
if (desc->tx_status == HAL_TX_TQM_RR_MULTICAST_DROP) {
|
||||
if (!soc->arch_ops.dp_tx_mcast_handler)
|
||||
if (!soc->arch_ops.dp_tx_mcast_handler ||
|
||||
!soc->arch_ops.dp_tx_is_mcast_primary)
|
||||
return false;
|
||||
|
||||
vdev = dp_vdev_get_ref_by_id(soc, desc->vdev_id,
|
||||
@@ -5481,6 +5482,11 @@ dp_tx_mcast_reinject_handler(struct dp_soc *soc, struct dp_tx_desc_s *desc)
|
||||
desc->id);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(soc->arch_ops.dp_tx_is_mcast_primary(soc, vdev))) {
|
||||
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_REINJECT);
|
||||
return false;
|
||||
}
|
||||
DP_STATS_INC_PKT(vdev, tx_i.reinject_pkts, 1,
|
||||
qdf_nbuf_len(desc->nbuf));
|
||||
soc->arch_ops.dp_tx_mcast_handler(soc, vdev, desc->nbuf);
|
||||
|
Reference in New Issue
Block a user