From 78f8d208b35c2d8efe0355e1041384c63e40eefc Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Tue, 25 Dec 2018 17:44:05 +0800 Subject: [PATCH] qcacmn: Remove structure wmi_tdls_params Using both structure wmi_tdls_params and tdls_info if TDLS component sets FW states, which will cause memory corruption potentially. Use enum wmi_tdls_state as type of tdls state. Change-Id: Ia1e78a5c6d8aee9ab5166c0704dd7827f42c2457 CRs-Fixed: 2372452 --- wmi_unified_param.h | 37 ------------------------------------- wmi_unified_priv.h | 3 ++- wmi_unified_sta_api.h | 7 ++++--- 3 files changed, 6 insertions(+), 41 deletions(-) diff --git a/wmi_unified_param.h b/wmi_unified_param.h index ff139fe563..8654da595f 100644 --- a/wmi_unified_param.h +++ b/wmi_unified_param.h @@ -2637,43 +2637,6 @@ struct fw_dump_req_param { struct fw_dump_seg_req_param segment[WMI_MAX_NUM_FW_SEGMENTS]; }; -/** - * struct wmi_tdls_params - TDLS parameters - * @vdev_id: vdev id - * @tdls_state: TDLS state - * @notification_interval_ms: notification inerval - * @tx_discovery_threshold: tx discovery threshold - * @tx_teardown_threshold: tx teardown threashold - * @rssi_teardown_threshold: RSSI teardown threshold - * @rssi_delta: RSSI delta - * @tdls_options: TDLS options - * @peer_traffic_ind_window: raffic indication window - * @peer_traffic_response_timeout: traffic response timeout - * @puapsd_mask: uapsd mask - * @puapsd_inactivity_time: uapsd inactivity time - * @puapsd_rx_frame_threshold: uapsd rx frame threshold - * @teardown_notification_ms: tdls teardown notification interval - * @tdls_peer_kickout_threshold: tdls packet threshold for - * peer kickout operation - */ -struct wmi_tdls_params { - uint32_t vdev_id; - uint32_t tdls_state; - uint32_t notification_interval_ms; - uint32_t tx_discovery_threshold; - uint32_t tx_teardown_threshold; - int32_t rssi_teardown_threshold; - int32_t rssi_delta; - uint32_t tdls_options; - uint32_t peer_traffic_ind_window; - uint32_t peer_traffic_response_timeout; - uint32_t puapsd_mask; - uint32_t puapsd_inactivity_time; - uint32_t puapsd_rx_frame_threshold; - uint32_t teardown_notification_ms; - uint32_t tdls_peer_kickout_threshold; -}; - /** * struct dhcp_offload_info_params - dhcp offload parameters * @vdev_id: request data length diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h index 3a1f58fea7..c4f05c2f82 100644 --- a/wmi_unified_priv.h +++ b/wmi_unified_priv.h @@ -935,7 +935,8 @@ QDF_STATUS (*send_set_tdls_offchan_mode_cmd)(wmi_unified_t wmi_handle, struct tdls_channel_switch_params *chan_switch_params); QDF_STATUS (*send_update_fw_tdls_state_cmd)(wmi_unified_t wmi_handle, - void *tdls_param, uint8_t tdls_state); + struct tdls_info *tdls_param, + enum wmi_tdls_state tdls_state); QDF_STATUS (*send_update_tdls_peer_state_cmd)(wmi_unified_t wmi_handle, struct tdls_peer_state_params *peerStateParams, diff --git a/wmi_unified_sta_api.h b/wmi_unified_sta_api.h index 8dae9b09b9..78755e3ee1 100644 --- a/wmi_unified_sta_api.h +++ b/wmi_unified_sta_api.h @@ -185,13 +185,14 @@ QDF_STATUS wmi_unified_set_tdls_offchan_mode_cmd(void *wmi_hdl, /** * wmi_unified_update_fw_tdls_state_cmd() - send enable/disable tdls for a vdev * @wmi_handle: wmi handle - * @pwmaTdlsparams: TDLS params + * @tdls_param: TDLS params + * @tdls_state: TDLS state * * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure */ QDF_STATUS wmi_unified_update_fw_tdls_state_cmd(void *wmi_hdl, - void *tdls_param, - uint8_t tdls_state); + struct tdls_info *tdls_param, + enum wmi_tdls_state tdls_state); /** * wmi_unified_update_tdls_peer_state_cmd() - update TDLS peer state