|
@@ -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) {
|