From 420d0df5e01dcb1a333a0daeb701f61d00a81884 Mon Sep 17 00:00:00 2001 From: Mohit Khanna Date: Wed, 30 Nov 2016 18:39:07 -0800 Subject: qcacld-3.0: NULL check return-value from cds_get_context Add null check while accessing pdev and hif pointers from cds_get_context API in OL layer. CRs-Fixed: 1096535 Change-Id: I2e3e7e04f1dcc9248fe173b7cdfc8d8704d0d1d9 --- core/dp/txrx/ol_txrx.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index eb66eab1dd14..4aa51031b6d7 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -4816,6 +4816,13 @@ void ol_register_lro_flush_cb(void (lro_flush_cb)(void *), hif_device = (struct hif_opaque_softc *) cds_get_context(QDF_MODULE_ID_HIF); + if (qdf_unlikely(hif_device == NULL)) { + TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, + "%s: hif_device NULL!", __func__); + qdf_assert(0); + goto out; + } + hif_lro_flush_cb_register(hif_device, ol_txrx_lro_flush, lro_init_cb); qdf_atomic_inc(&pdev->lro_info.lro_dev_cnt); @@ -4849,6 +4856,13 @@ void ol_deregister_lro_flush_cb(void (lro_deinit_cb)(void *)) hif_device = (struct hif_opaque_softc *)cds_get_context(QDF_MODULE_ID_HIF); + if (qdf_unlikely(hif_device == NULL)) { + TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, + "%s: hif_device NULL!", __func__); + qdf_assert(0); + return; + } + hif_lro_flush_cb_deregister(hif_device, lro_deinit_cb); pdev->lro_info.lro_flush_cb = NULL; -- cgit v1.2.3