qcacld-3.0: Add missing api calls for connection manager

There are few API calls missing for connection manager
connect, disconnect response handling.
Add these missing function calls for connection manager.

Change-Id: If3f4bf42d0979ac36a1413e5fc4176c41d5b8f8e
CRs-Fixed: 2851144
Dieser Commit ist enthalten in:
Ashish Kumar Dhanotiya
2021-01-07 17:09:50 +05:30
committet von snandini
Ursprung f844618a46
Commit 09d09344ea
4 geänderte Dateien mit 48 neuen und 21 gelöschten Zeilen

Datei anzeigen

@@ -599,4 +599,21 @@ static inline void hdd_copy_he_operation(struct hdd_station_ctx *hdd_sta_ctx,
*/
bool hdd_is_roam_sync_in_progress(struct hdd_context *hdd_ctx, uint8_t vdev_id);
#ifdef WLAN_FEATURE_HOST_ROAM
/**
* wlan_hdd_ft_set_key_delay() - hdd set key delayed for FT mode
* @mac_handle: mac handler
* @adapter: pointer to adapter context
*
* Return: void
*/
void
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter);
#else
static inline void
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
{
}
#endif
#endif

Datei anzeigen

@@ -4048,14 +4048,7 @@ static void hdd_roam_channel_switch_handler(struct hdd_adapter *adapter,
}
#ifdef WLAN_FEATURE_HOST_ROAM
/**
* wlan_hdd_ft_set_key_delay() - hdd set key delayed for FT mode
* @mac_handle: mac handler
* @adapter: pointer to adapter context
*
* Return: void
*/
static void
void
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
{
int errno = 0;
@@ -4077,11 +4070,6 @@ wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
if (errno)
hdd_err("ft set key failed");
}
#else
static void
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
{
}
#endif
/**

Datei anzeigen

@@ -40,6 +40,7 @@
#include "wlan_vdev_mgr_ucfg_api.h"
#include "wlan_hdd_bootup_marker.h"
#include "sme_qos_internal.h"
#include "wlan_hdd_scan.h"
void hdd_cm_update_rssi_snr_by_bssid(struct hdd_adapter *adapter)
{
@@ -275,6 +276,7 @@ hdd_cm_connect_failure_pre_user_update(struct wlan_objmgr_vdev *vdev,
{
struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
struct hdd_adapter *adapter;
struct hdd_station_ctx *hdd_sta_ctx;
if (!hdd_ctx) {
hdd_err("hdd_ctx is NULL");
@@ -287,6 +289,15 @@ hdd_cm_connect_failure_pre_user_update(struct wlan_objmgr_vdev *vdev,
return;
}
hdd_sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
if (!hdd_sta_ctx) {
hdd_err("hdd_sta_ctx is NULL");
return;
}
hdd_init_scan_reject_params(hdd_ctx);
hdd_cm_save_connect_status(adapter, rsp->status_code);
hdd_conn_remove_connect_info(hdd_sta_ctx);
hdd_cm_update_rssi_snr_by_bssid(adapter);
hdd_debug("Invoking packetdump deregistration API");
@@ -303,6 +314,7 @@ hdd_cm_connect_failure_post_user_update(struct wlan_objmgr_vdev *vdev,
qdf_runtime_pm_allow_suspend(&hdd_ctx->runtime_context.connect);
hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_CONNECT);
sme_reset_key(hdd_ctx->mac_handle, adapter->vdev_id);
hdd_wmm_dscp_initial_state(adapter);
hdd_debug("Disabling queues");
wlan_hdd_netif_queue_control(adapter,
@@ -618,6 +630,7 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
unsigned long rc;
uint32_t ie_len;
uint8_t *ie_field;
mac_handle_t mac_handle;
hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
if (!hdd_ctx) {
@@ -637,9 +650,14 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
return;
}
mac_handle = hdd_adapter_get_mac_handle(adapter);
wlan_hdd_ft_set_key_delay(mac_handle, adapter);
hdd_cm_update_rssi_snr_by_bssid(adapter);
hdd_cm_save_connect_status(adapter, rsp->status_code);
hdd_init_scan_reject_params(hdd_ctx);
hdd_cm_save_connect_info(adapter, rsp);
if (hdd_add_beacon_filter(adapter) != 0)
@@ -656,12 +674,13 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
sizeof(struct wlan_frame_hdr) +
offsetof(struct wlan_bcn_frame, ie));
sta_ctx->ap_supports_immediate_power_save =
if (adapter->device_mode == QDF_STA_MODE) {
sta_ctx->ap_supports_immediate_power_save =
wlan_hdd_is_ap_supports_immediate_power_save(
ie_field, ie_len);
hdd_debug("ap_supports_immediate_power_save flag [%d]",
sta_ctx->ap_supports_immediate_power_save);
hdd_debug("ap_supports_immediate_power_save flag [%d]",
sta_ctx->ap_supports_immediate_power_save);
}
hdd_green_ap_start_state_mc(hdd_ctx, adapter->device_mode, true);
hdd_cm_handle_assoc_event(vdev, rsp->bssid.bytes);
@@ -762,9 +781,11 @@ hdd_cm_connect_success_post_user_update(struct wlan_objmgr_vdev *vdev,
hdd_cm_clear_pmf_stats(adapter);
/* Inform FTM TIME SYNC about the connection with AP */
hdd_ftm_time_sync_sta_state_notify(adapter,
FTM_TIME_SYNC_STA_CONNECTED);
if (adapter->device_mode == QDF_STA_MODE) {
/* Inform FTM TIME SYNC about the connection with AP */
hdd_ftm_time_sync_sta_state_notify(adapter,
FTM_TIME_SYNC_STA_CONNECTED);
}
hdd_periodic_sta_stats_start(adapter);
}

Datei anzeigen

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -191,6 +191,7 @@ void __hdd_cm_disconnect_handler_post_user_update(struct hdd_adapter *adapter)
* the hdd_reassoc_scenario flag will not be reset if disconnection
* happens before EAP/EAPOL at supplicant is complete.
*/
sta_ctx->ft_carrier_on = false;
sta_ctx->hdd_reassoc_scenario = false;
hdd_nud_reset_tracking(adapter);