Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e020de05 authored by Yu Wang's avatar Yu Wang Committed by snandini
Browse files

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
parent 9128022c
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -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);
}