From a5b0851b3664b5b6aee096cc22baf03e8db9cf44 Mon Sep 17 00:00:00 2001 From: Shashikala Prabhu Date: Wed, 5 Sep 2018 11:09:23 +0530 Subject: [PATCH] qcacmn: Do not print DFS error message for non 5 GHz pdev For a 2GHz pdev, dfs object is NULL and hence 'dfs is NULL' print is always seen in some of the dfs functions when user enables the dfs error logs. To fix this, add non 5 GHz pdev check before dfs NULL check. Change-Id: I4702d8c487d5533a2a99b4560471a38992ea9177 CRs-Fixed: 2296853 --- umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h | 8 ++++ .../dispatcher/src/wlan_dfs_init_deinit_api.c | 24 +---------- umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c | 43 +++++++++++++++++++ umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c | 3 ++ umac/dfs/dispatcher/src/wlan_dfs_utils_api.c | 5 ++- 5 files changed, 59 insertions(+), 24 deletions(-) diff --git a/umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h b/umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h index 963a5cdc8aef..f56312ffb0dd 100644 --- a/umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h +++ b/umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h @@ -394,4 +394,12 @@ QDF_STATUS tgt_dfs_reset_spoof_test(struct wlan_objmgr_pdev *pdev) return QDF_STATUS_SUCCESS; } #endif + +/** + * tgt_dfs_is_pdev_5ghz() - Check if the input pdev is 5GHZ. + * @pdev: Pointer to DFS pdev object. + * + * Return: true if the pdev supports 5GHz, else false. + */ +bool tgt_dfs_is_pdev_5ghz(struct wlan_objmgr_pdev *pdev); #endif /* _WLAN_DFS_TGT_API_H_ */ diff --git a/umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c b/umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c index 91cedc396c05..ceb3518f76ff 100644 --- a/umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c +++ b/umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c @@ -414,10 +414,6 @@ static void dfs_scan_serialization_comp_info_cb( { struct wlan_dfs *dfs = NULL; 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; if (!comp_info) { dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "comp_info is NULL"); @@ -437,25 +433,7 @@ static void dfs_scan_serialization_comp_info_cb( comp_info->scan_info.is_cac_in_progress = false; - psoc = wlan_pdev_get_psoc(pdev); - if (!psoc) { - dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null psoc"); - return; - } - - dfs_tx_ops = wlan_psoc_get_dfs_txops(psoc); - if (!(dfs_tx_ops && dfs_tx_ops->dfs_is_pdev_5ghz)) { - dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs_tx_ops is null"); - return; - } - - status = dfs_tx_ops->dfs_is_pdev_5ghz(pdev, &is_5ghz); - if (QDF_IS_STATUS_ERROR(status)) { - dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "Failed to get is_5ghz value"); - return; - } - - if (!is_5ghz) + if (!tgt_dfs_is_pdev_5ghz(pdev)) return; dfs = wlan_pdev_get_dfs_obj(pdev); diff --git a/umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c b/umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c index 673cb1b0ddf4..37af6fed2b8c 100644 --- a/umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c +++ b/umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c @@ -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"); diff --git a/umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c b/umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c index bf3172bd6f66..8b46cb7ec0ac 100644 --- a/umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c +++ b/umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c @@ -142,6 +142,9 @@ QDF_STATUS ucfg_dfs_get_precac_enable(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, "null dfs"); diff --git a/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c b/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c index 2b0b33dd52b9..2f6e3c5e7ad4 100644 --- a/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c +++ b/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c @@ -1028,9 +1028,12 @@ QDF_STATUS utils_dfs_is_spoof_check_failed(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, "null dfs"); + dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is null"); return QDF_STATUS_E_FAILURE; }