qcacld-3.0: Refactor station mode initialization
Introduce a new API to move HT VHT IEs initialization code from hdd_init_station_mode() function. The new API will have vdev objmgr as function parameter which can be used to operate on per vdev instead of adapter. Change-Id: Ifc6766f0d2ae8c0b272099a56b38ea71236eea08 CRs-Fixed: 3297555
Esse commit está contido em:

commit de
Madan Koyyalamudi

pai
d5b09f8c5d
commit
b2a58e1b88
@@ -6395,6 +6395,23 @@ static void hdd_store_vdev_info(struct hdd_adapter *adapter,
|
||||
qdf_spin_unlock_bh(&adapter->vdev_lock);
|
||||
}
|
||||
|
||||
static void hdd_vdev_set_ht_vht_ies(mac_handle_t mac_handle,
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
bool bval = false;
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
status = ucfg_mlme_get_vht_enable2x2(psoc, &bval);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("unable to get vht_enable2x2");
|
||||
|
||||
sme_set_pdev_ht_vht_ies(mac_handle, bval);
|
||||
sme_set_vdev_ies_per_band(mac_handle, wlan_vdev_get_id(vdev),
|
||||
wlan_vdev_mlme_get_opmode(vdev));
|
||||
}
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(CFG80211_11BE_BASIC)
|
||||
static void
|
||||
hdd_populate_vdev_create_params(struct hdd_adapter *adapter,
|
||||
@@ -6564,21 +6581,18 @@ QDF_STATUS hdd_init_station_mode(struct hdd_adapter *adapter)
|
||||
QDF_STATUS status;
|
||||
int ret_val;
|
||||
mac_handle_t mac_handle;
|
||||
bool bval = false;
|
||||
uint8_t enable_sifs_burst = 0;
|
||||
uint32_t fine_time_meas_cap = 0, roam_triggers;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
mac_handle = hdd_ctx->mac_handle;
|
||||
status = ucfg_mlme_get_vht_enable2x2(hdd_ctx->psoc, &bval);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("unable to get vht_enable2x2");
|
||||
sme_set_pdev_ht_vht_ies(mac_handle, bval);
|
||||
|
||||
sme_set_vdev_ies_per_band(mac_handle, adapter->vdev_id,
|
||||
adapter->device_mode);
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_INIT_DEINIT_ID);
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
|
||||
hdd_vdev_set_ht_vht_ies(mac_handle, vdev);
|
||||
hdd_roam_profile_init(adapter);
|
||||
hdd_register_wext(adapter->dev);
|
||||
|
||||
@@ -6596,15 +6610,8 @@ QDF_STATUS hdd_init_station_mode(struct hdd_adapter *adapter)
|
||||
/* Make the default Auth Type as OPEN */
|
||||
sta_ctx->conn_info.auth_type = eCSR_AUTH_TYPE_OPEN_SYSTEM;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_DP_ID);
|
||||
if (!vdev) {
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error_init_txrx;
|
||||
}
|
||||
|
||||
status = ucfg_dp_init_txrx(vdev);
|
||||
if (QDF_STATUS_SUCCESS != status) {
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
|
||||
hdd_err("ucfg_dp_init_txrx() failed, status code %d", status);
|
||||
goto error_init_txrx;
|
||||
}
|
||||
@@ -6654,14 +6661,14 @@ QDF_STATUS hdd_init_station_mode(struct hdd_adapter *adapter)
|
||||
VDEV_CMD);
|
||||
}
|
||||
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_INIT_DEINIT_ID);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
error_wmm_init:
|
||||
clear_bit(INIT_TX_RX_SUCCESS, &adapter->event_flags);
|
||||
ucfg_dp_deinit_txrx(vdev);
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
|
||||
error_init_txrx:
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_INIT_DEINIT_ID);
|
||||
hdd_unregister_wext(adapter->dev);
|
||||
QDF_BUG(!hdd_vdev_destroy(adapter));
|
||||
|
||||
|
Referência em uma nova issue
Block a user