qcacmn: Release vdev ref in error cases

Release vdev reference in error cases while
collecting scan radio special vap stats

Change-Id: I030105f62fa8bb67c34c49950012f0e1dbf613a0
CRs-Fixed: 3025050
This commit is contained in:
Jeevan Kukkalli
2021-08-30 12:01:54 +05:30
committato da Madan Koyyalamudi
parent 03a407cea5
commit 4de1557d99

Vedi File

@@ -722,12 +722,17 @@ dp_get_scan_spcl_vap_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
struct dp_vdev *vdev = dp_vdev_get_ref_by_id(soc, vdev_id,
DP_MOD_ID_CDP);
if (!vdev || !stats)
if (!vdev || !stats) {
if (vdev)
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
return QDF_STATUS_E_INVAL;
}
mon_vdev = vdev->monitor_vdev;
if (!mon_vdev || !mon_vdev->scan_spcl_vap_stats)
if (!mon_vdev || !mon_vdev->scan_spcl_vap_stats) {
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
return QDF_STATUS_E_INVAL;
}
qdf_mem_copy(stats, mon_vdev->scan_spcl_vap_stats,
sizeof(struct cdp_scan_spcl_vap_stats));