qcacmn: Fix ref leak when monitor peer is null

Free the reference when peer is not null and monitor peer
is null.

Change-Id: I81875fbdf3918346b8c4f297f61fc241e7888fd4
CRs-Fixed: 3277552
This commit is contained in:
Nandha Kishore Easwaran
2022-08-26 20:36:43 +05:30
کامیت شده توسط Madan Koyyalamudi
والد 640ab03114
کامیت 68ef6e5dff

مشاهده پرونده

@@ -3831,9 +3831,15 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
* This check is to make sure peer is not deleted
* after processing the TLVs.
*/
if (!peer || !peer->monitor_peer)
if (!peer)
continue;
if (!peer->monitor_peer) {
dp_peer_unref_delete(peer,
DP_MOD_ID_TX_PPDU_STATS);
continue;
}
mon_peer = peer->monitor_peer;
delay_ppdu = &mon_peer->delayed_ba_ppdu_stats;
start_tsf = ppdu_desc->ppdu_start_timestamp;
@@ -3888,9 +3894,15 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
* This check is to make sure peer is not deleted
* after processing the TLVs.
*/
if (!peer || !peer->monitor_peer)
if (!peer)
continue;
if (!peer->monitor_peer) {
dp_peer_unref_delete(peer,
DP_MOD_ID_TX_PPDU_STATS);
continue;
}
mon_peer = peer->monitor_peer;
if (ppdu_desc->user[i].completion_status !=
HTT_PPDU_STATS_USER_STATUS_OK) {