diff --git a/core/dp/txrx3.0/dp_fisa_rx.c b/core/dp/txrx3.0/dp_fisa_rx.c index 4e11f0e9d5ea..fcad79d341e5 100644 --- a/core/dp/txrx3.0/dp_fisa_rx.c +++ b/core/dp/txrx3.0/dp_fisa_rx.c @@ -801,11 +801,15 @@ dp_rx_fisa_flush_udp_flow(struct dp_vdev *vdev, dp_fisa_debug("fisa_flow->curr_aggr %d", fisa_flow->cur_aggr); linear_skb = dp_fisa_rx_linear_skb(vdev, fisa_flow->head_skb, 24000); if (linear_skb) { - vdev->osif_rx(vdev->osif_vdev, linear_skb); + if (qdf_likely(vdev->osif_rx)) + vdev->osif_rx(vdev->osif_vdev, linear_skb); /* Free non linear skb */ qdf_nbuf_free(fisa_flow->head_skb); } else { - vdev->osif_rx(vdev->osif_vdev, fisa_flow->head_skb); + if (qdf_likely(vdev->osif_rx)) + vdev->osif_rx(vdev->osif_vdev, fisa_flow->head_skb); + else + qdf_nbuf_free(fisa_flow->head_skb); } out: @@ -1046,7 +1050,10 @@ pull_nbuf: deliver_nbuf: /* Deliver without FISA */ qdf_nbuf_set_next(head_nbuf, NULL); hex_dump_skb_data(head_nbuf, false); - vdev->osif_rx(vdev->osif_vdev, head_nbuf); + if (qdf_likely(vdev->osif_rx)) + vdev->osif_rx(vdev->osif_vdev, head_nbuf); + else + qdf_nbuf_free(head_nbuf); next_msdu: head_nbuf = next_nbuf; }