qcacmn: remove bss and self peer back pointers from dp_vdev

Remove self and BSS peer back pointers and added APIs to
get self and BSS peer from VDEV

These new APIs will iterate through peer list and return
the appropriate peer by taking a reference

Caller has to take care of releasing the reference

Change-Id: I550ff83d665f3ad0a185bea1a1e6270c5474ff07
Cette révision appartient à :
Chaithanya Garrepalli
2020-08-06 10:36:40 +05:30
révisé par snandini
Parent 1010dcfa74
révision 82eb94c989
5 fichiers modifiés avec 90 ajouts et 90 suppressions

Voir le fichier

@@ -1717,7 +1717,7 @@ static qdf_nbuf_t dp_ipa_intrabss_send(struct dp_pdev *pdev,
struct dp_peer *vdev_peer;
uint16_t len;
vdev_peer = vdev->vap_bss_peer;
vdev_peer = dp_vdev_bss_peer_ref_n_get(pdev->soc, vdev);
if (qdf_unlikely(!vdev_peer))
return nbuf;
@@ -1726,10 +1726,12 @@ static qdf_nbuf_t dp_ipa_intrabss_send(struct dp_pdev *pdev,
if (dp_tx_send((struct cdp_soc_t *)pdev->soc, vdev->vdev_id, nbuf)) {
DP_STATS_INC_PKT(vdev_peer, rx.intra_bss.fail, 1, len);
dp_peer_unref_delete(vdev_peer);
return nbuf;
}
DP_STATS_INC_PKT(vdev_peer, rx.intra_bss.pkts, 1, len);
dp_peer_unref_delete(vdev_peer);
return NULL;
}