diff --git a/components/pmo/core/inc/wlan_pmo_main.h b/components/pmo/core/inc/wlan_pmo_main.h index 9232b44cc62a..e520343676ea 100644 --- a/components/pmo/core/inc/wlan_pmo_main.h +++ b/components/pmo/core/inc/wlan_pmo_main.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -140,14 +140,6 @@ bool pmo_is_vdev_in_beaconning_mode(enum QDF_OPMODE vdev_opmode); bool pmo_core_is_ap_mode_supports_arp_ns(struct wlan_objmgr_psoc *psoc, enum QDF_OPMODE vdev_opmode); -/** - * pmo_core_is_vdev_connected() - to check whether peer is associated or not - * @vdev: objmgr vdev - * - * Return: true in case success else false - */ -bool pmo_core_is_vdev_connected(struct wlan_objmgr_vdev *vdev); - /** * pmo_core_is_vdev_supports_offload() - Check offload is supported on vdev * @vdev: objmgr vdev diff --git a/components/pmo/core/inc/wlan_pmo_objmgr.h b/components/pmo/core/inc/wlan_pmo_objmgr.h index 41db7e33bd34..db37a5a9e031 100644 --- a/components/pmo/core/inc/wlan_pmo_objmgr.h +++ b/components/pmo/core/inc/wlan_pmo_objmgr.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -32,6 +32,8 @@ #include "wlan_objmgr_pdev_obj.h" #include "wlan_objmgr_psoc_obj.h" #include "wlan_pmo_obj_mgmt_public_struct.h" +#include "wlan_utility.h" + /* Get/Put Ref */ diff --git a/components/pmo/core/src/wlan_pmo_arp.c b/components/pmo/core/src/wlan_pmo_arp.c index cbc54c9a6d76..a1d0955d0eed 100644 --- a/components/pmo/core/src/wlan_pmo_arp.c +++ b/components/pmo/core/src/wlan_pmo_arp.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -216,7 +216,7 @@ static QDF_STATUS pmo_core_arp_offload_sanity( return QDF_STATUS_E_INVAL; } - if (!pmo_core_is_vdev_connected(vdev)) + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) return QDF_STATUS_E_INVAL; return QDF_STATUS_SUCCESS; diff --git a/components/pmo/core/src/wlan_pmo_gtk.c b/components/pmo/core/src/wlan_pmo_gtk.c index 30a8ffd9960e..7ee6921b7f00 100644 --- a/components/pmo/core/src/wlan_pmo_gtk.c +++ b/components/pmo/core/src/wlan_pmo_gtk.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -79,7 +79,7 @@ static QDF_STATUS pmo_core_do_enable_gtk_offload( return QDF_STATUS_E_INVAL; } - if (!pmo_core_is_vdev_connected(vdev)) + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) return QDF_STATUS_E_INVAL; vdev_id = pmo_vdev_get_id(vdev); @@ -122,7 +122,7 @@ static QDF_STATUS pmo_core_is_gtk_enabled_in_fwr( return QDF_STATUS_E_INVAL; } - if (!pmo_core_is_vdev_connected(vdev)) + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) return QDF_STATUS_E_INVAL; status = pmo_get_vdev_bss_peer_mac_addr(vdev, diff --git a/components/pmo/core/src/wlan_pmo_hw_filter.c b/components/pmo/core/src/wlan_pmo_hw_filter.c index 6dec685e01f5..9900c6e97704 100644 --- a/components/pmo/core/src/wlan_pmo_hw_filter.c +++ b/components/pmo/core/src/wlan_pmo_hw_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -39,7 +39,7 @@ QDF_STATUS pmo_core_enable_hw_filter_in_fwr(struct wlan_objmgr_vdev *vdev) if (QDF_IS_STATUS_ERROR(status)) goto exit_with_status; - if (!pmo_core_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { status = QDF_STATUS_E_NOSUPPORT; goto exit_with_status; } @@ -75,7 +75,7 @@ QDF_STATUS pmo_core_disable_hw_filter_in_fwr(struct wlan_objmgr_vdev *vdev) if (QDF_IS_STATUS_ERROR(status)) goto exit_with_status; - if (!pmo_core_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { status = QDF_STATUS_E_NOSUPPORT; goto exit_with_status; } diff --git a/components/pmo/core/src/wlan_pmo_main.c b/components/pmo/core/src/wlan_pmo_main.c index b9304b28700a..b34521894f0b 100644 --- a/components/pmo/core/src/wlan_pmo_main.c +++ b/components/pmo/core/src/wlan_pmo_main.c @@ -286,26 +286,6 @@ bool pmo_core_is_ap_mode_supports_arp_ns(struct wlan_objmgr_psoc *psoc, return true; } -bool pmo_core_is_vdev_connected(struct wlan_objmgr_vdev *vdev) -{ - struct wlan_objmgr_peer *peer; - enum wlan_peer_state peer_state; - - peer = wlan_vdev_get_bsspeer(vdev); - if (!peer) { - pmo_debug("bss peer is null"); - return false; - } - - peer_state = wlan_peer_mlme_get_state(peer); - if (peer_state != WLAN_ASSOC_STATE) { - pmo_debug("peer is not associated; state:%d", peer_state); - return false; - } - - return true; -} - bool pmo_core_is_vdev_supports_offload(struct wlan_objmgr_vdev *vdev) { enum QDF_OPMODE opmode; diff --git a/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c b/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c index b63a69c178d8..c0df46b0e072 100644 --- a/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c +++ b/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c @@ -514,7 +514,7 @@ QDF_STATUS pmo_core_enable_mc_addr_filtering_in_fwr( if (status != QDF_STATUS_SUCCESS) goto put_vdev; - if (!pmo_core_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { status = QDF_STATUS_E_INVAL; goto put_vdev; } @@ -615,7 +615,7 @@ QDF_STATUS pmo_core_disable_mc_addr_filtering_in_fwr( if (status != QDF_STATUS_SUCCESS) goto put_ref; - if (!pmo_core_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { status = QDF_STATUS_E_INVAL; goto put_ref; } diff --git a/components/pmo/core/src/wlan_pmo_ns.c b/components/pmo/core/src/wlan_pmo_ns.c index 291cbe0d2a23..e61f54ea0d48 100644 --- a/components/pmo/core/src/wlan_pmo_ns.c +++ b/components/pmo/core/src/wlan_pmo_ns.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -252,7 +252,7 @@ static QDF_STATUS pmo_core_ns_offload_sanity(struct wlan_objmgr_vdev *vdev) return QDF_STATUS_E_INVAL; } - if (pmo_core_is_vdev_connected(vdev) == false) + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) return QDF_STATUS_E_INVAL; return QDF_STATUS_SUCCESS; diff --git a/components/pmo/core/src/wlan_pmo_wow.c b/components/pmo/core/src/wlan_pmo_wow.c index 716ddb81945c..381b48ff4750 100644 --- a/components/pmo/core/src/wlan_pmo_wow.c +++ b/components/pmo/core/src/wlan_pmo_wow.c @@ -341,7 +341,7 @@ bool pmo_core_is_wow_applicable(struct wlan_objmgr_psoc *psoc) if (QDF_IS_STATUS_ERROR(status)) continue; - if (pmo_core_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) == QDF_STATUS_SUCCESS) { pmo_debug("STA is connected, enabling wow"); is_wow_applicable = true; } else if (ucfg_scan_get_pno_in_progress(vdev)) { diff --git a/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c b/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c index 554d82593405..1e915b78f6b2 100644 --- a/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c +++ b/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c @@ -98,7 +98,10 @@ bool ucfg_pmo_is_ap_mode_supports_arp_ns(struct wlan_objmgr_psoc *psoc, bool ucfg_pmo_is_vdev_connected(struct wlan_objmgr_vdev *vdev) { - return pmo_core_is_vdev_connected(vdev); + if (wlan_vdev_is_up(vdev) == QDF_STATUS_SUCCESS) + return true; + else + return false; } bool ucfg_pmo_is_vdev_supports_offload(struct wlan_objmgr_vdev *vdev) diff --git a/components/tdls/core/src/wlan_tdls_cmds_process.c b/components/tdls/core/src/wlan_tdls_cmds_process.c index abccfbf974bb..21b282ece672 100644 --- a/components/tdls/core/src/wlan_tdls_cmds_process.c +++ b/components/tdls/core/src/wlan_tdls_cmds_process.c @@ -684,7 +684,7 @@ int tdls_validate_mgmt_request(struct tdls_action_frame_request *tdls_mgmt_req) * STA or P2P client should be connected and authenticated before * sending any TDLS frames */ - if (!tdls_is_vdev_connected(vdev) || + if ((wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) || !tdls_is_vdev_authenticated(vdev)) { tdls_err("STA is not connected or not authenticated."); return -EAGAIN; diff --git a/components/tdls/core/src/wlan_tdls_ct.c b/components/tdls/core/src/wlan_tdls_ct.c index 9e16f3a35bc1..dfcdb417e1c5 100644 --- a/components/tdls/core/src/wlan_tdls_ct.c +++ b/components/tdls/core/src/wlan_tdls_ct.c @@ -27,28 +27,6 @@ #include "wlan_tdls_ct.h" #include "wlan_tdls_cmds_process.h" -bool tdls_is_vdev_connected(struct wlan_objmgr_vdev *vdev) -{ - struct wlan_objmgr_peer *peer; - enum wlan_peer_state peer_state; - - peer = wlan_vdev_get_bsspeer(vdev); - - if (!peer) { - tdls_err("peer is null"); - return false; - } - - peer_state = wlan_peer_mlme_get_state(peer); - - if (peer_state != WLAN_ASSOC_STATE) { - tdls_err("peer state: %d", peer_state); - return false; - } - - return true; -} - bool tdls_is_vdev_authenticated(struct wlan_objmgr_vdev *vdev) { struct wlan_objmgr_peer *peer; @@ -1032,7 +1010,7 @@ int tdls_set_tdls_offchannelmode(struct wlan_objmgr_vdev *vdev, return -EINVAL; } - if (!tdls_is_vdev_connected(vdev)) { + if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { tdls_err("tdls off channel req in not associated state %d", offchanmode); return -EPERM; diff --git a/components/tdls/core/src/wlan_tdls_ct.h b/components/tdls/core/src/wlan_tdls_ct.h index 64af4b84e26d..54d966196b61 100644 --- a/components/tdls/core/src/wlan_tdls_ct.h +++ b/components/tdls/core/src/wlan_tdls_ct.h @@ -35,17 +35,6 @@ #define TDLS_PREFERRED_OFF_CHANNEL_NUM_MAX 165 #define TDLS_PREFERRED_OFF_CHANNEL_NUM_DEFAULT 36 -/** - * tdls_is_vdev_connected() - check the vdev is connected to ap - * @vdev: vdev object manager - * - * This function will check the vdev connection status and return - * true or false - * - * Return: true - Connected, false - Not connected - */ -bool tdls_is_vdev_connected(struct wlan_objmgr_vdev *vdev); - /** * tdls_implicit_enable() - enable implicit tdls triggering * @tdls_vdev: TDLS vdev @@ -162,14 +151,6 @@ void tdls_discovery_timeout_peer_cb(void *user_data); */ void tdls_implicit_disable(struct tdls_vdev_priv_obj *tdls_vdev); -/** - * tdls_is_vdev_connected() -check the vdev connection - * @vdev: vdev oobject - * - * Return: true or false - */ -bool tdls_is_vdev_connected(struct wlan_objmgr_vdev *vdev); - /** * tdls_is_vdev_authenticated() -check the vdev authentication state * @vdev: vdev oobject diff --git a/components/tdls/core/src/wlan_tdls_main.c b/components/tdls/core/src/wlan_tdls_main.c index b89e707f3932..89b7c2c7809f 100644 --- a/components/tdls/core/src/wlan_tdls_main.c +++ b/components/tdls/core/src/wlan_tdls_main.c @@ -370,7 +370,7 @@ static int __tdls_get_all_peers_from_list( buf = get_tdls_peers->buf; buf_len = get_tdls_peers->buf_len; - if (!tdls_is_vdev_connected(get_tdls_peers->vdev)) { + if (wlan_vdev_is_up(get_tdls_peers->vdev) != QDF_STATUS_SUCCESS) { len = qdf_scnprintf(buf, buf_len, "\nSTA is not associated\n"); return len; diff --git a/components/tdls/core/src/wlan_tdls_main.h b/components/tdls/core/src/wlan_tdls_main.h index d4d4a7aba4b4..9850546ebcde 100644 --- a/components/tdls/core/src/wlan_tdls_main.h +++ b/components/tdls/core/src/wlan_tdls_main.h @@ -34,6 +34,8 @@ #include #include #include "wlan_serialization_api.h" +#include + /* Bit mask flag for tdls_option to FW */ #define ENA_TDLS_OFFCHAN (1 << 0) /* TDLS Off Channel support */