qcacld-3.0: Enable roaming on interface mgr
- Use sme roaming api's instead of converged roaming api's. - Add debug logs in if mgr api's. - Fix typo in Kbuild file. - Fix compilation errors. - Fix comments for readability. - Update disconnect functions so parameter type matches. Change-Id: Ia0adf6f79036e9348bf4ebb6237a5e25ef813a21 CRs-Fixed: 2774509
Цей коміт міститься в:
2
Kbuild
2
Kbuild
@@ -2601,7 +2601,7 @@ cppflags-$(CONFIG_WLAN_FW_OFFLOAD) += -DWLAN_FW_OFFLOAD
|
||||
cppflags-$(CONFIG_WLAN_FEATURE_ELNA) += -DWLAN_FEATURE_ELNA
|
||||
cppflags-$(CONFIG_FEATURE_COEX) += -DFEATURE_COEX
|
||||
cppflags-$(CONFIG_CM_ROAM_OFFLOAD) += -DROAM_OFFLOAD_V1
|
||||
cppflags-$(CONFIG_INTERFAC_MGR) += -DWLAN_FEATURE_INTERFACE_MGR
|
||||
cppflags-$(CONFIG_INTERFACE_MGR) += -DWLAN_FEATURE_INTERFACE_MGR
|
||||
|
||||
cppflags-$(CONFIG_PLD_IPCI_ICNSS_FLAG) += -DCONFIG_PLD_IPCI_ICNSS
|
||||
cppflags-$(CONFIG_PLD_SDIO_CNSS_FLAG) += -DCONFIG_PLD_SDIO_CNSS
|
||||
|
@@ -31,7 +31,7 @@
|
||||
/**
|
||||
* struct change_roam_state_arg - Contains roam state arguments
|
||||
* @requestor: Driver disabled roaming requestor
|
||||
* @curr_vdev_id: Pointer to current vdev objmgr
|
||||
* @curr_vdev_id: virtual device ID
|
||||
*
|
||||
* This structure is used to pass the roam state change information to the
|
||||
* callback
|
||||
@@ -58,7 +58,7 @@ struct bssid_search_arg {
|
||||
* if_mgr_enable_roaming() - interface manager enable roaming
|
||||
* @vdev: vdev object
|
||||
* @pdev: pdev object
|
||||
* @requestor: RSO disable requestor
|
||||
* @requestor: RSO enable requestor
|
||||
*
|
||||
* Interface manager api to enable roaming for all other active vdev id's
|
||||
*
|
||||
@@ -107,7 +107,7 @@ if_mgr_enable_roaming_on_connected_sta(struct wlan_objmgr_vdev *vdev,
|
||||
* roaming after p2p disconnect
|
||||
* @vdev: vdev object
|
||||
* @pdev: pdev object
|
||||
* @requestor: RSO disable requestor
|
||||
* @requestor: RSO enable requestor
|
||||
*
|
||||
* Disables roaming on p2p vdevs if the state is disconnected
|
||||
*
|
||||
|
@@ -27,6 +27,8 @@
|
||||
#include "wlan_cm_roam_api.h"
|
||||
#include "wlan_if_mgr_main.h"
|
||||
#include "wlan_p2p_ucfg_api.h"
|
||||
#include "cds_api.h"
|
||||
#include "sme_api.h"
|
||||
|
||||
static void if_mgr_enable_roaming_on_vdev(struct wlan_objmgr_pdev *pdev,
|
||||
void *object, void *arg)
|
||||
@@ -41,8 +43,14 @@ static void if_mgr_enable_roaming_on_vdev(struct wlan_objmgr_pdev *pdev,
|
||||
if (curr_vdev_id != vdev_id &&
|
||||
vdev->vdev_mlme.vdev_opmode == QDF_STA_MODE &&
|
||||
vdev->vdev_mlme.mlme_state == WLAN_VDEV_S_UP) {
|
||||
wlan_cm_enable_rso(pdev, vdev_id, roam_arg->requestor,
|
||||
REASON_DRIVER_ENABLED);
|
||||
/* IFMGR Verification: Temporary call to sme_start_roaming api,
|
||||
* will be replaced by converged roaming api
|
||||
* once roaming testing is complete.
|
||||
*/
|
||||
ifmgr_debug("Roaming started on vdev_id %d", vdev_id);
|
||||
sme_start_roaming(cds_get_context(QDF_MODULE_ID_SME),
|
||||
vdev_id, REASON_DRIVER_DISABLED,
|
||||
roam_arg->requestor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,8 +88,14 @@ static void if_mgr_disable_roaming_on_vdev(struct wlan_objmgr_pdev *pdev,
|
||||
if (curr_vdev_id != vdev_id &&
|
||||
wlan_vdev_mlme_get_opmode(vdev) == QDF_STA_MODE &&
|
||||
vdev->vdev_mlme.mlme_state == WLAN_VDEV_S_UP) {
|
||||
wlan_cm_disable_rso(pdev, vdev_id, roam_arg->requestor,
|
||||
REASON_DRIVER_DISABLED);
|
||||
/* IFMGR Verification: Temporary call to sme_stop_roaming api,
|
||||
* will be replaced by converged roaming api
|
||||
* once roaming testing is complete.
|
||||
*/
|
||||
ifmgr_debug("Roaming stopped on vdev_id %d", vdev_id);
|
||||
sme_stop_roaming(cds_get_context(QDF_MODULE_ID_SME),
|
||||
vdev_id, REASON_DRIVER_DISABLED,
|
||||
roam_arg->requestor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,9 +135,15 @@ if_mgr_enable_roaming_on_connected_sta(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
if (policy_mgr_is_sta_active_connection_exists(psoc) &&
|
||||
wlan_vdev_mlme_get_opmode(vdev) == QDF_STA_MODE) {
|
||||
wlan_cm_enable_roaming_on_connected_sta(pdev, vdev_id);
|
||||
policy_mgr_clear_and_set_pcl_for_connected_vdev(psoc, vdev_id,
|
||||
true);
|
||||
/* IFMGR Verification: Temporary call to
|
||||
* sme_enable_roaming_on_connected_sta api,
|
||||
* will be replaced by converged roaming api
|
||||
* once roaming testing is complete.
|
||||
*/
|
||||
ifmgr_debug("Enable roaming on connected sta for vdev_id %d", vdev_id);
|
||||
sme_enable_roaming_on_connected_sta(cds_get_context(QDF_MODULE_ID_SME),
|
||||
vdev_id);
|
||||
policy_mgr_set_pcl_for_connected_vdev(psoc, vdev_id, true);
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
@@ -69,9 +69,10 @@ if_mgr_ap_start_bss_complete(struct wlan_objmgr_vdev *vdev,
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
if (!psoc)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
/*
|
||||
* Due to audio share glitch with P2P GO due
|
||||
* to roam scan on concurrent interface, disable
|
||||
* Due to audio share glitch with P2P GO caused by
|
||||
* roam scan on concurrent interface, disable
|
||||
* roaming if "p2p_disable_roam" ini is enabled.
|
||||
* Donot re-enable roaming again on other STA interface
|
||||
* if p2p GO is active on any vdev.
|
||||
@@ -107,9 +108,10 @@ if_mgr_ap_stop_bss_complete(struct wlan_objmgr_vdev *vdev,
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
if (!psoc)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
/*
|
||||
* Due to audio share glitch with P2P GO due
|
||||
* to roam scan on concurrent interface, disable
|
||||
* Due to audio share glitch with P2P GO caused by
|
||||
* roam scan on concurrent interface, disable
|
||||
* roaming if "p2p_disable_roam" ini is enabled.
|
||||
* Re-enable roaming on other STA interface if p2p GO
|
||||
* is active on any vdev.
|
||||
|
@@ -132,7 +132,7 @@ QDF_STATUS if_mgr_connect_complete(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
|
||||
QDF_STATUS if_mgr_disconnect_start(struct wlan_objmgr_vdev *vdev,
|
||||
void *event_data)
|
||||
struct if_mgr_event_data *event_data)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
@@ -151,7 +151,7 @@ QDF_STATUS if_mgr_disconnect_start(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
|
||||
QDF_STATUS if_mgr_disconnect_complete(struct wlan_objmgr_vdev *vdev,
|
||||
void *event_data)
|
||||
struct if_mgr_event_data *event_data)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
@@ -79,7 +79,7 @@
|
||||
#include "wlan_pkt_capture_ucfg_api.h"
|
||||
|
||||
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||
#include "wlan_if_mgr_api.h"
|
||||
#include "wlan_if_mgr_ucfg_api.h"
|
||||
#include "wlan_if_mgr_public_struct.h"
|
||||
#endif
|
||||
|
||||
|
@@ -163,7 +163,7 @@
|
||||
#define TWT_FLOW_TYPE_UNANNOUNCED 1
|
||||
|
||||
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||
#include "wlan_if_mgr_api.h"
|
||||
#include "wlan_if_mgr_ucfg_api.h"
|
||||
#include "wlan_if_mgr_public_struct.h"
|
||||
#endif
|
||||
|
||||
|
Посилання в новій задачі
Заблокувати користувача