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
Цей коміт міститься в:
Amruta Kulkarni
2020-09-10 14:03:06 -07:00
зафіксовано snandini
джерело 56afad67cb
коміт ea53232656
7 змінених файлів з 41 додано та 19 видалено

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