From 8504feaebf010feaa538174230dc70ec5c8d0369 Mon Sep 17 00:00:00 2001 From: Alok Kumar Date: Wed, 12 Aug 2020 17:36:19 +0530 Subject: [PATCH] qcacld-3.0: Get vdev using API dp_vdev_get_ref_by_id To get the VDEV use API dp_vdev_get_ref_by_id instead of dp_get_vdev_from_soc_vdev_id_wifi3. Change-Id: I7d764df517baab0ab92f20e9b8ecaaedd3b44ecd CRs-Fixed: 2753830 --- core/dp/txrx3.0/dp_fisa_rx.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/core/dp/txrx3.0/dp_fisa_rx.c b/core/dp/txrx3.0/dp_fisa_rx.c index 4a1483be52e8..8059ee097ae5 100644 --- a/core/dp/txrx3.0/dp_fisa_rx.c +++ b/core/dp/txrx3.0/dp_fisa_rx.c @@ -817,8 +817,10 @@ dp_rx_fisa_flush_udp_flow(struct dp_vdev *vdev, hex_dump_skb_data(fisa_flow->head_skb, false); - fisa_flow_vdev = dp_get_vdev_from_soc_vdev_id_wifi3(fisa_flow->soc_hdl, - QDF_NBUF_CB_RX_VDEV_ID(fisa_flow->head_skb)); + fisa_flow_vdev = dp_vdev_get_ref_by_id( + fisa_flow->soc_hdl, + QDF_NBUF_CB_RX_VDEV_ID(fisa_flow->head_skb), + DP_MOD_ID_RX); if (qdf_unlikely(!fisa_flow_vdev || (fisa_flow_vdev != fisa_flow->vdev))) { qdf_nbuf_free(fisa_flow->head_skb); @@ -851,6 +853,10 @@ dp_rx_fisa_flush_udp_flow(struct dp_vdev *vdev, } out: + if (fisa_flow_vdev) + dp_vdev_unref_delete(fisa_flow->soc_hdl, + fisa_flow_vdev, + DP_MOD_ID_RX); fisa_flow->head_skb = NULL; fisa_flow->last_skb = NULL; @@ -1351,7 +1357,7 @@ QDF_STATUS dp_rx_fisa_flush_by_vdev_id(struct dp_soc *soc, uint8_t vdev_id) int i; struct dp_vdev *vdev; - vdev = dp_get_vdev_from_soc_vdev_id_wifi3(soc, vdev_id); + vdev = dp_vdev_get_ref_by_id(soc, vdev_id, DP_MOD_ID_RX); if (qdf_unlikely(!vdev)) { dp_err("null vdev by vdev_id %d", vdev_id); return QDF_STATUS_E_FAILURE; @@ -1364,6 +1370,7 @@ QDF_STATUS dp_rx_fisa_flush_by_vdev_id(struct dp_soc *soc, uint8_t vdev_id) dp_rx_fisa_flush_flow_wrap(&sw_ft_entry[i]); } } + dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_RX); return QDF_STATUS_SUCCESS; } @@ -1374,9 +1381,10 @@ void dp_set_fisa_disallowed_for_vdev(struct cdp_soc_t *cdp_soc, uint8_t vdev_id, struct dp_soc *soc = (struct dp_soc *)cdp_soc; struct dp_vdev *vdev; - vdev = dp_get_vdev_from_soc_vdev_id_wifi3(soc, vdev_id); + vdev = dp_vdev_get_ref_by_id(soc, vdev_id, DP_MOD_ID_RX); if (qdf_unlikely(!vdev)) return; vdev->fisa_disallowed[rx_ctx_id] = val; + dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_RX); }