From 1761e41191907c0dec7ebc85a47d2feabe035427 Mon Sep 17 00:00:00 2001 From: Yu Wang Date: Mon, 10 Aug 2020 15:08:08 +0800 Subject: [PATCH] qcacmn: return error if the callback for spectral is NULL The callback function for spectral may be not registered, add checking before calling the function, return -ENOTSUPP if it's NULL. CRs-Fixed: 2751658 Change-Id: If04fb360cd4ef89f5c8ce007786d636110cb02df --- .../dispatcher/src/wlan_spectral_utils_api.c | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/spectral/dispatcher/src/wlan_spectral_utils_api.c b/spectral/dispatcher/src/wlan_spectral_utils_api.c index 63c976bf6a..837cfce566 100644 --- a/spectral/dispatcher/src/wlan_spectral_utils_api.c +++ b/spectral/dispatcher/src/wlan_spectral_utils_api.c @@ -140,6 +140,11 @@ spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev) return -EINVAL; } + if (!sc->legacy_cbacks.vdev_get_chan_freq) { + spectral_err("vdev_get_chan_freq is not supported"); + return -ENOTSUPP; + } + return sc->legacy_cbacks.vdev_get_chan_freq(vdev); } @@ -154,6 +159,11 @@ spectral_vdev_get_chan_freq_seg2(struct wlan_objmgr_vdev *vdev) return -EINVAL; } + if (!sc->legacy_cbacks.vdev_get_chan_freq_seg2) { + spectral_err("vdev_get_chan_freq_seg2 is not supported"); + return -ENOTSUPP; + } + return sc->legacy_cbacks.vdev_get_chan_freq_seg2(vdev); } @@ -168,6 +178,11 @@ spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev) return CH_WIDTH_INVALID; } + if (!sc->legacy_cbacks.vdev_get_ch_width) { + spectral_err("vdev_get_ch_width is not supported"); + return -ENOTSUPP; + } + return sc->legacy_cbacks.vdev_get_ch_width(vdev); } @@ -183,6 +198,11 @@ spectral_vdev_get_sec20chan_freq_mhz(struct wlan_objmgr_vdev *vdev, return -EINVAL; } + if (!sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz) { + spectral_err("vdev_get_sec20chan_freq_mhz is not supported"); + return -ENOTSUPP; + } + return sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz(vdev, sec20chan_freq); }