qcacmn: Fix band info update issue in error case

Currently during error process band is updated if txrx_peer is valid.
but in current logic txrx_peer was retrieved later which will always
result in condition failure and will cause band not to be update.

To fix the issue move getting txrx_peer part before band update.

Change-Id: I3ebec6d695e25c2a19304e11ec780215a26dd016
CRs-Fixed: 3648441
This commit is contained in:
Amit Mehta
2023-10-26 03:33:10 -07:00
committed by Ravindra Konda
父節點 29e7553979
當前提交 92aea0f061

查看文件

@@ -1212,6 +1212,14 @@ more_msdu_link_desc:
}
head_nbuf = NULL;
txrx_peer = dp_tgt_txrx_peer_get_ref_by_id(
soc, peer_id,
&txrx_ref_handle,
DP_MOD_ID_RX_ERR);
if (!txrx_peer)
dp_info_rl("txrx_peer is null peer_id %u",
peer_id);
dp_rx_nbuf_set_link_id_from_tlv(soc, qdf_nbuf_data(nbuf), nbuf);
if (pdev && pdev->link_peer_stats &&
@@ -1246,28 +1254,21 @@ more_msdu_link_desc:
dp_rx_oor_handle(soc, nbuf, peer_id, rx_tlv_hdr_last);
break;
case HAL_REO_ERR_QUEUE_DESC_ADDR_0:
txrx_peer = dp_tgt_txrx_peer_get_ref_by_id(
soc, peer_id,
&txrx_ref_handle,
DP_MOD_ID_RX_ERR);
if (!txrx_peer)
dp_info_rl("txrx_peer is null peer_id %u",
peer_id);
soc->arch_ops.dp_rx_null_q_desc_handle(soc, nbuf,
rx_tlv_hdr_last,
rx_desc_pool_id,
txrx_peer,
TRUE,
link_id);
if (txrx_peer)
dp_txrx_peer_unref_delete(txrx_ref_handle,
DP_MOD_ID_RX_ERR);
break;
default:
dp_err_rl("Non-support error code %d", err_code);
dp_rx_nbuf_free(nbuf);
}
if (txrx_peer)
dp_txrx_peer_unref_delete(txrx_ref_handle,
DP_MOD_ID_RX_ERR);
process_next_msdu:
nbuf = head_nbuf;
while (nbuf) {