qcacmn: Ignore peer if it is missing txrx_peer in reinject path

Ignore peer if it is missing txrx_peer in reinject path while
going through the peer_list. This condition can hit when the
peer_setup call from the control path is not yet received for
the peer.

Change-Id: Ie57d07353f33749a439415d808fc010702c3c884
CRs-Fixed: 3130821
This commit is contained in:
Pavankumar Nandeshwar
2022-02-16 00:34:57 -08:00
committed by Madan Koyyalamudi
父節點 804b9e2382
當前提交 1bf15a02b7

查看文件

@@ -3142,7 +3142,8 @@ void dp_tx_nawds_handler(struct dp_soc *soc, struct dp_vdev *vdev,
qdf_spin_lock_bh(&vdev->peer_list_lock);
TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) {
txrx_peer = dp_get_txrx_peer(peer);
qdf_assert_always(txrx_peer);
if (!txrx_peer)
continue;
if (!txrx_peer->bss_peer && txrx_peer->nawds_enabled) {
peer_id = peer->peer_id;
@@ -3520,9 +3521,8 @@ void dp_tx_reinject_handler(struct dp_soc *soc,
qdf_spin_lock_bh(&vdev->peer_list_lock);
TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) {
txrx_peer = dp_get_txrx_peer(peer);
qdf_assert_always(txrx_peer);
if (txrx_peer->bss_peer)
if (!txrx_peer || txrx_peer->bss_peer)
continue;
/* Detect wds peers that use 3-addr framing for mcast.
@@ -3546,7 +3546,8 @@ void dp_tx_reinject_handler(struct dp_soc *soc,
qdf_spin_lock_bh(&vdev->peer_list_lock);
TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) {
txrx_peer = dp_get_txrx_peer(peer);
qdf_assert_always(txrx_peer);
if (!txrx_peer)
continue;
if ((txrx_peer->peer_id != HTT_INVALID_PEER) &&
#ifdef WDS_VENDOR_EXTENSION