|
@@ -38,6 +38,34 @@ wlan_psoc_get_dfs_txops(struct wlan_objmgr_psoc *psoc)
|
|
|
return &((psoc->soc_cb.tx_ops.dfs_tx_ops));
|
|
|
}
|
|
|
|
|
|
+bool tgt_dfs_is_pdev_5ghz(struct wlan_objmgr_pdev *pdev)
|
|
|
+{
|
|
|
+ struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
|
|
+ struct wlan_objmgr_psoc *psoc;
|
|
|
+ bool is_5ghz = false;
|
|
|
+ QDF_STATUS status;
|
|
|
+
|
|
|
+ psoc = wlan_pdev_get_psoc(pdev);
|
|
|
+ if (!psoc) {
|
|
|
+ dfs_err(NULL, WLAN_DEBUG_DFS_ALWAYS, "null psoc");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ dfs_tx_ops = wlan_psoc_get_dfs_txops(psoc);
|
|
|
+ if (!(dfs_tx_ops && dfs_tx_ops->dfs_is_pdev_5ghz)) {
|
|
|
+ dfs_err(NULL, WLAN_DEBUG_DFS_ALWAYS, "dfs_tx_ops is null");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ status = dfs_tx_ops->dfs_is_pdev_5ghz(pdev, &is_5ghz);
|
|
|
+ if (QDF_IS_STATUS_ERROR(status)) {
|
|
|
+ dfs_err(NULL, WLAN_DEBUG_DFS_ALWAYS, "Failed to get is_5ghz value");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return is_5ghz;
|
|
|
+}
|
|
|
+
|
|
|
QDF_STATUS tgt_dfs_set_current_channel(struct wlan_objmgr_pdev *pdev,
|
|
|
uint16_t dfs_ch_freq,
|
|
|
uint64_t dfs_ch_flags,
|
|
@@ -48,6 +76,9 @@ QDF_STATUS tgt_dfs_set_current_channel(struct wlan_objmgr_pdev *pdev,
|
|
|
{
|
|
|
struct wlan_dfs *dfs;
|
|
|
|
|
|
+ if (!tgt_dfs_is_pdev_5ghz(pdev))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
|
|
if (!dfs) {
|
|
|
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is NULL");
|
|
@@ -216,6 +247,9 @@ QDF_STATUS tgt_dfs_is_precac_timer_running(struct wlan_objmgr_pdev *pdev,
|
|
|
{
|
|
|
struct wlan_dfs *dfs;
|
|
|
|
|
|
+ if (!tgt_dfs_is_pdev_5ghz(pdev))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
|
|
if (!dfs) {
|
|
|
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is NULL");
|
|
@@ -232,6 +266,9 @@ QDF_STATUS tgt_dfs_get_radars(struct wlan_objmgr_pdev *pdev)
|
|
|
{
|
|
|
struct wlan_dfs *dfs;
|
|
|
|
|
|
+ if (!tgt_dfs_is_pdev_5ghz(pdev))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
|
|
if (!dfs) {
|
|
|
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is NULL");
|
|
@@ -393,6 +430,9 @@ QDF_STATUS tgt_dfs_stop(struct wlan_objmgr_pdev *pdev)
|
|
|
{
|
|
|
struct wlan_dfs *dfs;
|
|
|
|
|
|
+ if (!tgt_dfs_is_pdev_5ghz(pdev))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
|
|
if (!dfs) {
|
|
|
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is NULL");
|
|
@@ -523,6 +563,9 @@ QDF_STATUS tgt_dfs_reset_spoof_test(struct wlan_objmgr_pdev *pdev)
|
|
|
{
|
|
|
struct wlan_dfs *dfs;
|
|
|
|
|
|
+ if (!tgt_dfs_is_pdev_5ghz(pdev))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
|
|
if (!dfs) {
|
|
|
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is NULL");
|