|
@@ -5980,6 +5980,9 @@ void dp_aggregate_vdev_stats(struct dp_vdev *vdev,
|
|
|
|
|
|
soc = vdev->pdev->soc;
|
|
|
|
|
|
+ if (!vdev)
|
|
|
+ return;
|
|
|
+
|
|
|
qdf_mem_copy(vdev_stats, &vdev->stats, sizeof(vdev->stats));
|
|
|
|
|
|
qdf_spin_lock_bh(&soc->peer_ref_mutex);
|
|
@@ -5988,11 +5991,13 @@ void dp_aggregate_vdev_stats(struct dp_vdev *vdev,
|
|
|
qdf_spin_unlock_bh(&soc->peer_ref_mutex);
|
|
|
|
|
|
#if defined(FEATURE_PERPKT_INFO) && WDI_EVENT_ENABLE
|
|
|
+ if (!vdev->pdev)
|
|
|
+ return;
|
|
|
+
|
|
|
dp_wdi_event_handler(WDI_EVENT_UPDATE_DP_STATS, vdev->pdev->soc,
|
|
|
vdev_stats, vdev->vdev_id,
|
|
|
UPDATE_VDEV_STATS, vdev->pdev->pdev_id);
|
|
|
#endif
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -6078,7 +6083,6 @@ static inline void dp_aggregate_pdev_stats(struct dp_pdev *pdev)
|
|
|
dp_wdi_event_handler(WDI_EVENT_UPDATE_DP_STATS, pdev->soc, &pdev->stats,
|
|
|
pdev->pdev_id, UPDATE_PDEV_STATS, pdev->pdev_id);
|
|
|
#endif
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -6696,6 +6700,9 @@ dp_txrx_host_stats_clr(struct dp_vdev *vdev)
|
|
|
{
|
|
|
struct dp_peer *peer = NULL;
|
|
|
|
|
|
+ if (!vdev || !vdev->pdev)
|
|
|
+ return;
|
|
|
+
|
|
|
DP_STATS_CLR(vdev->pdev);
|
|
|
DP_STATS_CLR(vdev->pdev->soc);
|
|
|
DP_STATS_CLR(vdev);
|