qcacmn: Handle vendor control command and event
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support for a new roam command to get vendor control parameters from FW. Host needs to send proper param ID in command (from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID) to get corresponding INI value from FW. WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID: Add support for a new roam event to get param value from FW. FW sends this event upon receiving WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command. Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd CRs-Fixed: 3225166
这个提交包含在:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2015, 2020-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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
|
||||
@@ -152,6 +153,20 @@ typedef QDF_STATUS
|
||||
struct wlan_cm_connect_resp *rsp,
|
||||
enum osif_cb_type type);
|
||||
|
||||
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||
/**
|
||||
* typedef osif_cm_get_vendor_handoff_params_cb - process vendor handoff cb
|
||||
* @psoc: psoc pointer
|
||||
* @rsp: vendor handoff response
|
||||
* @vendor_handoff_context: vendor handoff context
|
||||
*
|
||||
* return: none
|
||||
*/
|
||||
typedef QDF_STATUS
|
||||
(*osif_cm_get_vendor_handoff_params_cb)(struct wlan_objmgr_psoc *psoc,
|
||||
void *vendor_handoff_context);
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_FILS_SK
|
||||
/**
|
||||
* typedef osif_cm_save_gtk_cb - save gtk callback
|
||||
@@ -306,6 +321,8 @@ typedef QDF_STATUS
|
||||
* transition event
|
||||
* @cckm_preauth_complete_cb: callback to legacy module to send cckm
|
||||
* preauth indication to the supplicant via wireless custom event.
|
||||
* @vendor_handoff_params_cb: callback to legacy module to send vendor handoff
|
||||
* parameters to upper layer
|
||||
*/
|
||||
struct osif_cm_ops {
|
||||
osif_cm_connect_comp_cb connect_complete_cb;
|
||||
@@ -324,6 +341,9 @@ struct osif_cm_ops {
|
||||
osif_cm_cckm_preauth_complete_cb cckm_preauth_complete_cb;
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||
osif_cm_get_vendor_handoff_params_cb vendor_handoff_params_cb;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -342,6 +362,19 @@ QDF_STATUS osif_cm_connect_comp_ind(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_cm_connect_resp *rsp,
|
||||
enum osif_cb_type type);
|
||||
|
||||
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||
/**
|
||||
* osif_cm_vendor_handoff_params_cb() - Function to process vendor handoff
|
||||
* event callback
|
||||
* @psoc: psoc object pointer
|
||||
* @vendor_handoff_context: vendor handoff context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS osif_cm_vendor_handoff_params_cb(struct wlan_objmgr_psoc *psoc,
|
||||
void *vendor_handoff_context);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* osif_cm_disconnect_comp_ind() - Function to indicate disconnect
|
||||
* complete to legacy module
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2015, 2020-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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
|
||||
@@ -479,6 +480,10 @@ static struct mlme_cm_ops cm_ops = {
|
||||
.mlme_cm_cckm_preauth_cmpl_cb = osif_cm_cckm_preauth_cmpl_cb,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||
.mlme_cm_get_vendor_handoff_params_cb =
|
||||
osif_cm_vendor_handoff_params_cb,
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -548,6 +553,21 @@ QDF_STATUS osif_cm_connect_comp_ind(struct wlan_objmgr_vdev *vdev,
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||
QDF_STATUS osif_cm_vendor_handoff_params_cb(struct wlan_objmgr_psoc *psoc,
|
||||
void *vendor_handoff_context)
|
||||
{
|
||||
osif_cm_get_vendor_handoff_params_cb cb = NULL;
|
||||
|
||||
if (osif_cm_legacy_ops)
|
||||
cb = osif_cm_legacy_ops->vendor_handoff_params_cb;
|
||||
if (cb)
|
||||
return cb(psoc, vendor_handoff_context);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS osif_cm_disconnect_comp_ind(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_cm_discon_rsp *rsp,
|
||||
enum osif_cb_type type)
|
||||
|
在新工单中引用
屏蔽一个用户