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
This commit is contained in:

committed by
snandini

parent
f844618a46
commit
09d09344ea
@@ -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);
|
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
|
#endif
|
||||||
|
@@ -4048,14 +4048,7 @@ static void hdd_roam_channel_switch_handler(struct hdd_adapter *adapter,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_HOST_ROAM
|
#ifdef WLAN_FEATURE_HOST_ROAM
|
||||||
/**
|
void
|
||||||
* 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
|
|
||||||
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
|
wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
|
||||||
{
|
{
|
||||||
int errno = 0;
|
int errno = 0;
|
||||||
@@ -4077,11 +4070,6 @@ wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
|
|||||||
if (errno)
|
if (errno)
|
||||||
hdd_err("ft set key failed");
|
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
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -40,6 +40,7 @@
|
|||||||
#include "wlan_vdev_mgr_ucfg_api.h"
|
#include "wlan_vdev_mgr_ucfg_api.h"
|
||||||
#include "wlan_hdd_bootup_marker.h"
|
#include "wlan_hdd_bootup_marker.h"
|
||||||
#include "sme_qos_internal.h"
|
#include "sme_qos_internal.h"
|
||||||
|
#include "wlan_hdd_scan.h"
|
||||||
|
|
||||||
void hdd_cm_update_rssi_snr_by_bssid(struct hdd_adapter *adapter)
|
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_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
||||||
struct hdd_adapter *adapter;
|
struct hdd_adapter *adapter;
|
||||||
|
struct hdd_station_ctx *hdd_sta_ctx;
|
||||||
|
|
||||||
if (!hdd_ctx) {
|
if (!hdd_ctx) {
|
||||||
hdd_err("hdd_ctx is NULL");
|
hdd_err("hdd_ctx is NULL");
|
||||||
@@ -287,6 +289,15 @@ hdd_cm_connect_failure_pre_user_update(struct wlan_objmgr_vdev *vdev,
|
|||||||
return;
|
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_cm_update_rssi_snr_by_bssid(adapter);
|
||||||
|
|
||||||
hdd_debug("Invoking packetdump deregistration API");
|
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);
|
qdf_runtime_pm_allow_suspend(&hdd_ctx->runtime_context.connect);
|
||||||
hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_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_wmm_dscp_initial_state(adapter);
|
||||||
hdd_debug("Disabling queues");
|
hdd_debug("Disabling queues");
|
||||||
wlan_hdd_netif_queue_control(adapter,
|
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;
|
unsigned long rc;
|
||||||
uint32_t ie_len;
|
uint32_t ie_len;
|
||||||
uint8_t *ie_field;
|
uint8_t *ie_field;
|
||||||
|
mac_handle_t mac_handle;
|
||||||
|
|
||||||
hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
||||||
if (!hdd_ctx) {
|
if (!hdd_ctx) {
|
||||||
@@ -637,9 +650,14 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
|
|||||||
return;
|
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_update_rssi_snr_by_bssid(adapter);
|
||||||
hdd_cm_save_connect_status(adapter, rsp->status_code);
|
hdd_cm_save_connect_status(adapter, rsp->status_code);
|
||||||
|
|
||||||
|
hdd_init_scan_reject_params(hdd_ctx);
|
||||||
|
|
||||||
hdd_cm_save_connect_info(adapter, rsp);
|
hdd_cm_save_connect_info(adapter, rsp);
|
||||||
|
|
||||||
if (hdd_add_beacon_filter(adapter) != 0)
|
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) +
|
sizeof(struct wlan_frame_hdr) +
|
||||||
offsetof(struct wlan_bcn_frame, ie));
|
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(
|
wlan_hdd_is_ap_supports_immediate_power_save(
|
||||||
ie_field, ie_len);
|
ie_field, ie_len);
|
||||||
hdd_debug("ap_supports_immediate_power_save flag [%d]",
|
hdd_debug("ap_supports_immediate_power_save flag [%d]",
|
||||||
sta_ctx->ap_supports_immediate_power_save);
|
sta_ctx->ap_supports_immediate_power_save);
|
||||||
|
}
|
||||||
hdd_green_ap_start_state_mc(hdd_ctx, adapter->device_mode, true);
|
hdd_green_ap_start_state_mc(hdd_ctx, adapter->device_mode, true);
|
||||||
|
|
||||||
hdd_cm_handle_assoc_event(vdev, rsp->bssid.bytes);
|
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);
|
hdd_cm_clear_pmf_stats(adapter);
|
||||||
|
|
||||||
/* Inform FTM TIME SYNC about the connection with AP */
|
if (adapter->device_mode == QDF_STA_MODE) {
|
||||||
hdd_ftm_time_sync_sta_state_notify(adapter,
|
/* Inform FTM TIME SYNC about the connection with AP */
|
||||||
FTM_TIME_SYNC_STA_CONNECTED);
|
hdd_ftm_time_sync_sta_state_notify(adapter,
|
||||||
|
FTM_TIME_SYNC_STA_CONNECTED);
|
||||||
|
}
|
||||||
hdd_periodic_sta_stats_start(adapter);
|
hdd_periodic_sta_stats_start(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* 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
|
* the hdd_reassoc_scenario flag will not be reset if disconnection
|
||||||
* happens before EAP/EAPOL at supplicant is complete.
|
* happens before EAP/EAPOL at supplicant is complete.
|
||||||
*/
|
*/
|
||||||
|
sta_ctx->ft_carrier_on = false;
|
||||||
sta_ctx->hdd_reassoc_scenario = false;
|
sta_ctx->hdd_reassoc_scenario = false;
|
||||||
|
|
||||||
hdd_nud_reset_tracking(adapter);
|
hdd_nud_reset_tracking(adapter);
|
||||||
|
Reference in New Issue
Block a user