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
This commit is contained in:
Yu Wang
2020-08-10 15:08:08 +08:00
committed by snandini
parent 8a35dcfc63
commit 1761e41191

View File

@@ -140,6 +140,11 @@ spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev)
return -EINVAL; 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); 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; 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); 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; 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); 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; 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, return sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz(vdev,
sec20chan_freq); sec20chan_freq);
} }