qcacld-3.0: Refactor hdd_hostapd_sap_event_cb() API

In the API change the deflink references to a local variable
to reuse the variable.

Change-Id: I446d26f11a22c1bd5ae042a7d455fab2cfde6af4
CRs-Fixed: 3522523
Esse commit está contido em:
Vinod Kumar Pirla
2023-02-26 10:13:34 -08:00
commit de Rahul Choudhary
commit cc6a92cc80

Ver arquivo

@@ -2082,6 +2082,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
struct wlan_objmgr_vdev *vdev;
struct qdf_mac_addr sta_addr = {0};
qdf_freq_t dfs_freq;
struct wlan_hdd_link_info *link_info;
dev = context;
if (!dev) {
@@ -2097,8 +2098,9 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
return QDF_STATUS_E_FAILURE;
}
hostapd_state = WLAN_HDD_GET_HOSTAP_STATE_PTR(adapter->deflink);
ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(adapter->deflink);
link_info = adapter->deflink;
hostapd_state = WLAN_HDD_GET_HOSTAP_STATE_PTR(link_info);
ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(link_info);
if (!sap_event) {
hdd_err("sap_event is null");
@@ -2126,7 +2128,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
hdd_ctx->pdev, ap_ctx->operating_chan_freq);
wlan_reg_get_cc_and_src(hdd_ctx->psoc, dfs_info.country_code);
sta_id = sap_event->sapevt.sapStartBssCompleteEvent.staId;
sap_config = &adapter->deflink->session.ap.sap_config;
sap_config = &ap_ctx->sap_config;
switch (event_id) {
case eSAP_START_BSS_EVENT:
@@ -2140,7 +2142,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
sap_event->sapevt.sapStartBssCompleteEvent
.operating_chan_freq;
adapter->deflink->vdev_id =
link_info->vdev_id =
sap_event->sapevt.sapStartBssCompleteEvent.sessionId;
sap_config->chan_freq =
sap_event->sapevt.sapStartBssCompleteEvent.
@@ -2149,7 +2151,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
sap_event->sapevt.sapStartBssCompleteEvent.ch_width;
hdd_nofl_info("AP started vid %d freq %d BW %d",
adapter->deflink->vdev_id,
link_info->vdev_id,
ap_ctx->operating_chan_freq,
sap_config->ch_params.ch_width);
@@ -2162,7 +2164,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
qdf_atomic_set(&ap_ctx->ch_switch_in_progress, 0);
wlansap_get_dfs_ignore_cac(mac_handle, &ignoreCAC);
if (!policy_mgr_get_dfs_master_dynamic_enabled(
hdd_ctx->psoc, adapter->deflink->vdev_id))
hdd_ctx->psoc, link_info->vdev_id))
ignoreCAC = true;
wlansap_get_dfs_cac_state(mac_handle, ap_ctx->sap_context,
@@ -2186,8 +2188,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
ucfg_ipa_set_dfs_cac_tx(hdd_ctx->pdev,
ap_ctx->dfs_cac_block_tx);
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_DP_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_dfs_cac_tx(vdev, ap_ctx->dfs_cac_block_tx);
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
@@ -2195,7 +2196,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
hdd_debug("The value of dfs_cac_block_tx[%d] for ApCtx[%pK]:%d",
ap_ctx->dfs_cac_block_tx, ap_ctx,
adapter->deflink->vdev_id);
link_info->vdev_id);
if (hostapd_state->qdf_status) {
hdd_err("startbss event failed!!");
@@ -2206,7 +2207,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
* go through before that.
*/
hostapd_state->bss_state = BSS_STOP;
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
vdev = hdd_objmgr_get_vdev_by_user(link_info,
WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_bss_state_start(vdev, false);
@@ -2222,7 +2223,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
cdp_hl_fc_set_td_limit(
cds_get_context(QDF_MODULE_ID_SOC),
adapter->deflink->vdev_id,
link_info->vdev_id,
ap_ctx->operating_chan_freq);
hdd_register_tx_flow_control(adapter,
@@ -2250,7 +2251,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
hdd_ctx->pdev,
adapter->dev,
adapter->device_mode,
adapter->deflink->vdev_id,
link_info->vdev_id,
WLAN_IPA_AP_CONNECT,
adapter->dev->dev_addr,
WLAN_REG_IS_24GHZ_CH_FREQ(
@@ -2266,8 +2267,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
ap_ctx->operating_chan_freq);
hostapd_state->bss_state = BSS_START;
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_DP_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_bss_state_start(vdev, true);
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
@@ -2294,7 +2294,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
we_event = IWEVCUSTOM;
we_custom_event_generic = we_custom_start_event;
wlan_hdd_set_tx_flow_info();
sap_ctx = WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink);
sap_ctx = WLAN_HDD_GET_SAP_CTX_PTR(link_info);
if (!sap_ctx) {
hdd_err("sap ctx is null");
return QDF_STATUS_E_FAILURE;
@@ -2303,7 +2303,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
if (sap_ctx->is_chan_change_inprogress) {
hdd_debug("check for possible hw mode change");
status = policy_mgr_set_hw_mode_on_channel_switch(
hdd_ctx->psoc, adapter->deflink->vdev_id);
hdd_ctx->psoc, link_info->vdev_id);
if (QDF_IS_STATUS_ERROR(status))
hdd_debug("set hw mode change not done");
}
@@ -2312,8 +2312,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
* Enable wds source port learning on the dp vdev in AP mode
* when WDS feature is enabled.
*/
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_OSIF_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_ID);
if (vdev) {
if (wlan_vdev_mlme_get_opmode(vdev) == QDF_SAP_MODE)
hdd_wds_config_dp_repeater_mode(vdev);
@@ -2352,7 +2351,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
if (!con_sap_adapter) {
ap_ctx->dfs_cac_block_tx = true;
hdd_ctx->dev_dfs_cac_status = DFS_CAC_NEVER_DONE;
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
vdev = hdd_objmgr_get_vdev_by_user(link_info,
WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_dfs_cac_tx(vdev,
@@ -2361,7 +2360,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
}
}
hdd_nofl_info("Ap stopped vid %d reason=%d",
adapter->deflink->vdev_id,
link_info->vdev_id,
ap_ctx->bss_stop_reason);
qdf_status =
policy_mgr_get_mac_id_by_session_id(
@@ -2426,8 +2425,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
ap_ctx->dfs_cac_block_tx = false;
ucfg_ipa_set_dfs_cac_tx(hdd_ctx->pdev,
ap_ctx->dfs_cac_block_tx);
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_DP_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_dfs_cac_tx(vdev,
ap_ctx->dfs_cac_block_tx);
@@ -2618,7 +2616,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
status = ucfg_ipa_wlan_evt(hdd_ctx->pdev,
adapter->dev,
adapter->device_mode,
adapter->deflink->vdev_id,
link_info->vdev_id,
WLAN_IPA_CLIENT_CONNECT_EX,
(const uint8_t *)
&sta_addr.bytes[0],
@@ -2628,13 +2626,13 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
}
DPTRACE(qdf_dp_trace_mgmt_pkt(QDF_DP_TRACE_MGMT_PACKET_RECORD,
adapter->deflink->vdev_id,
link_info->vdev_id,
QDF_TRACE_DEFAULT_PDEV_ID,
QDF_PROTO_TYPE_MGMT, QDF_PROTO_MGMT_ASSOC));
/* start timer in sap/p2p_go */
if (ap_ctx->ap_active == false) {
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
vdev = hdd_objmgr_get_vdev_by_user(link_info,
WLAN_DP_ID);
if (vdev) {
ucfg_dp_bus_bw_compute_prev_txrx_stats(vdev);
@@ -2694,10 +2692,10 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
qdf_mem_free(sta_info);
}
/* Lets abort scan to ensure smooth authentication for client */
if (ucfg_scan_get_vdev_status(adapter->deflink->vdev) !=
if (ucfg_scan_get_vdev_status(link_info->vdev) !=
SCAN_NOT_IN_PROGRESS) {
wlan_abort_scan(hdd_ctx->pdev, INVAL_PDEV_ID,
adapter->deflink->vdev_id,
link_info->vdev_id,
INVALID_SCAN_ID, false);
}
if (adapter->device_mode == QDF_P2P_GO_MODE) {
@@ -2706,7 +2704,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
&event->staMac,
ePeerConnected,
event->timingMeasCap,
adapter->deflink->vdev_id,
link_info->vdev_id,
&event->chan_info,
adapter->device_mode);
}
@@ -2766,7 +2764,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
we_event = IWEVEXPIRED;
DPTRACE(qdf_dp_trace_mgmt_pkt(QDF_DP_TRACE_MGMT_PACKET_RECORD,
adapter->deflink->vdev_id,
link_info->vdev_id,
QDF_TRACE_DEFAULT_PDEV_ID,
QDF_PROTO_TYPE_MGMT, QDF_PROTO_MGMT_DISASSOC));
@@ -2779,7 +2777,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
return QDF_STATUS_E_INVAL;
}
if (wlan_vdev_mlme_is_mlo_vdev(adapter->deflink->vdev) &&
if (wlan_vdev_mlme_is_mlo_vdev(link_info->vdev) &&
!qdf_is_macaddr_zero(&stainfo->mld_addr)) {
qdf_copy_macaddr(&sta_addr, &stainfo->mld_addr);
} else {
@@ -2789,8 +2787,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
qdf_copy_macaddr(&sta_addr, &disassoc_comp->staMac);
}
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_DP_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_DP_ID);
if (vdev) {
ucfg_dp_update_dhcp_state_on_disassoc(vdev,
&disassoc_comp->staMac);
@@ -2852,7 +2849,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
/* Update the beacon Interval if it is P2P GO */
qdf_status = policy_mgr_change_mcc_go_beacon_interval(
hdd_ctx->psoc, adapter->deflink->vdev_id,
hdd_ctx->psoc, link_info->vdev_id,
adapter->device_mode);
if (QDF_STATUS_SUCCESS != qdf_status) {
hdd_err("Failed to update Beacon interval status: %d",
@@ -2864,14 +2861,14 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
sapStationDisassocCompleteEvent.
staMac, ePeerDisconnected,
0,
adapter->deflink->vdev_id,
link_info->vdev_id,
NULL,
adapter->device_mode);
}
/*stop timer in sap/p2p_go */
if (ap_ctx->ap_active == false) {
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
vdev = hdd_objmgr_get_vdev_by_user(link_info,
WLAN_DP_ID);
if (vdev) {
ucfg_dp_bus_bw_compute_reset_prev_txrx_stats(vdev);
@@ -2975,9 +2972,9 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
sap_event->sapevt.sap_ch_selected.ch_width;
cdp_hl_fc_set_td_limit(cds_get_context(QDF_MODULE_ID_SOC),
adapter->deflink->vdev_id,
link_info->vdev_id,
ap_ctx->operating_chan_freq);
sap_ctx = WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink);
sap_ctx = WLAN_HDD_GET_SAP_CTX_PTR(link_info);
if (!sap_ctx) {
hdd_err("sap ctx is null");
return QDF_STATUS_E_FAILURE;
@@ -2987,7 +2984,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
hdd_debug("check for possible hw mode change");
status = policy_mgr_set_hw_mode_on_channel_switch(
hdd_ctx->psoc,
adapter->deflink->vdev_id);
link_info->vdev_id);
if (QDF_IS_STATUS_ERROR(status))
hdd_debug("set hw mode change not done");
}
@@ -3011,18 +3008,17 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
ap_ctx->sap_config.acs_cfg.ch_width =
sap_event->sapevt.sap_ch_selected.ch_width;
hdd_nofl_info("ACS Completed vid %d freq %d BW %d",
adapter->deflink->vdev_id,
link_info->vdev_id,
ap_ctx->sap_config.acs_cfg.pri_ch_freq,
ap_ctx->sap_config.acs_cfg.ch_width);
if (qdf_atomic_read(&ap_ctx->acs_in_progress) &&
test_bit(SOFTAP_BSS_STARTED,
&adapter->deflink->link_flags)) {
test_bit(SOFTAP_BSS_STARTED, &link_info->link_flags)) {
hdd_dcs_chan_select_complete(adapter);
} else {
wlan_hdd_cfg80211_acs_ch_select_evt(adapter, true);
wlansap_dcs_set_wlan_interference_mitigation_on_band(
WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink),
WLAN_HDD_GET_SAP_CTX_PTR(link_info),
&ap_ctx->sap_config);
}
@@ -3031,7 +3027,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
hdd_debug("Channel change indication from peer for channel freq %d",
sap_event->sapevt.sap_chan_cng_ind.new_chan_freq);
wlan_hdd_set_sap_csa_reason(hdd_ctx->psoc,
adapter->deflink->vdev_id,
link_info->vdev_id,
CSA_REASON_PEER_ACTION_FRAME);
if (hdd_softap_set_channel_change(dev,
sap_event->sapevt.sap_chan_cng_ind.new_chan_freq,
@@ -3048,7 +3044,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
case eSAP_STOP_BSS_DUE_TO_NO_CHNL:
hdd_debug("Stop sap session[%d]",
adapter->deflink->vdev_id);
link_info->vdev_id);
schedule_work(&adapter->sap_stop_bss_work);
return QDF_STATUS_SUCCESS;
@@ -3070,7 +3066,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
if (!wlan_reg_is_dfs_for_freq(hdd_ctx->pdev,
ap_ctx->operating_chan_freq)) {
ap_ctx->dfs_cac_block_tx = false;
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
vdev = hdd_objmgr_get_vdev_by_user(link_info,
WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_dfs_cac_tx(vdev,
@@ -3116,8 +3112,7 @@ stopbss:
* re-enabled
*/
hostapd_state->bss_state = BSS_STOP;
vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink,
WLAN_DP_ID);
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_DP_ID);
if (vdev) {
ucfg_dp_set_bss_state_start(vdev, false);
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);