qcacld-3.0: Properly pass is_2g_iface to IPA component

is_2g_iface is retrieved from policy_mgr component based on
new and existing connections, where IPA pipe selections are
properly determined.

Change-Id: I90c58f03621a3407e1ab0cfd519562da5069a344
CRs-Fixed: 3599449
Dieser Commit ist enthalten in:
Jia Ding
2023-08-18 17:54:41 +08:00
committet von Rahul Choudhary
Ursprung 6cc267f6c2
Commit d4742a9ad0
3 geänderte Dateien mit 37 neuen und 8 gelöschten Zeilen

Datei anzeigen

@@ -1578,6 +1578,9 @@ hdd_change_sta_state_authenticated(struct wlan_hdd_link_info *link_info,
uint8_t *mac_addr;
struct hdd_station_ctx *sta_ctx;
struct hdd_adapter *adapter = link_info->adapter;
struct hdd_context *hdd_ctx;
QDF_STATUS status;
bool alt_pipe;
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(link_info);
@@ -1587,13 +1590,22 @@ hdd_change_sta_state_authenticated(struct wlan_hdd_link_info *link_info,
adapter->device_mode == QDF_STA_MODE &&
sta_ctx->conn_info.auth_type != eCSR_AUTH_TYPE_NONE &&
sta_ctx->conn_info.auth_type != eCSR_AUTH_TYPE_OPEN_SYSTEM &&
sta_ctx->conn_info.auth_type != eCSR_AUTH_TYPE_SHARED_KEY)
sta_ctx->conn_info.auth_type != eCSR_AUTH_TYPE_SHARED_KEY) {
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
status = hdd_ipa_get_tx_pipe(hdd_ctx, link_info, &alt_pipe);
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_debug("Failed to get alternate pipe for vdev %d",
link_info->vdev_id);
alt_pipe = false;
}
ucfg_ipa_wlan_evt(adapter->hdd_ctx->pdev, adapter->dev,
adapter->device_mode,
link_info->vdev_id,
WLAN_IPA_STA_CONNECT, mac_addr,
WLAN_REG_IS_24GHZ_CH_FREQ(
sta_ctx->conn_info.chan_freq));
alt_pipe);
}
hdd_cm_set_peer_authenticate(link_info,
&sta_ctx->conn_info.bssid, false);

Datei anzeigen

@@ -1539,6 +1539,8 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
struct hdd_adapter *assoc_link_adapter;
bool is_immediate_power_save;
struct wlan_hdd_link_info *link_info;
QDF_STATUS status;
bool alt_pipe;
hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
if (!hdd_ctx) {
@@ -1701,14 +1703,21 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
adapter->device_mode);
}
if (ucfg_ipa_is_enabled() && !is_auth_required)
if (ucfg_ipa_is_enabled() && !is_auth_required) {
status = hdd_ipa_get_tx_pipe(hdd_ctx, link_info, &alt_pipe);
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_debug("Failed to get alternate pipe for vdev %d",
link_info->vdev_id);
alt_pipe = false;
}
ucfg_ipa_wlan_evt(hdd_ctx->pdev, adapter->dev,
adapter->device_mode,
link_info->vdev_id,
WLAN_IPA_STA_CONNECT,
rsp->bssid.bytes,
WLAN_REG_IS_24GHZ_CH_FREQ(
sta_ctx->conn_info.chan_freq));
alt_pipe);
}
if (adapter->device_mode == QDF_STA_MODE)
cdp_reset_rx_hw_ext_stats(soc);

Datei anzeigen

@@ -2088,6 +2088,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
struct qdf_mac_addr sta_addr = {0};
qdf_freq_t dfs_freq;
struct wlan_hdd_link_info *link_info;
bool alt_pipe;
dev = context;
if (!dev) {
@@ -2252,6 +2253,14 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
}
if (ucfg_ipa_is_enabled()) {
status = hdd_ipa_get_tx_pipe(hdd_ctx, link_info,
&alt_pipe);
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_debug("Failed to get alt pipe for vdev %d",
link_info->vdev_id);
alt_pipe = false;
}
status = ucfg_ipa_wlan_evt(
hdd_ctx->pdev,
adapter->dev,
@@ -2259,8 +2268,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
link_info->vdev_id,
WLAN_IPA_AP_CONNECT,
adapter->dev->dev_addr,
WLAN_REG_IS_24GHZ_CH_FREQ(
ap_ctx->operating_chan_freq));
alt_pipe);
if (status)
hdd_err("WLAN_AP_CONNECT event failed");
}