qcacld-3.0: Get mgmt frame info from frame buffer for logging

Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.

Move management frames handling from lim_send API to tx_complete_cnf API

Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
This commit is contained in:
Vinod Kumar Myadam
2022-04-19 16:06:30 +05:30
committed by Madan Koyyalamudi
parent 8200002a6c
commit 94da0db1a5
8 changed files with 108 additions and 208 deletions

View File

@@ -2714,31 +2714,4 @@ struct wlan_change_bi {
uint8_t session_id;
};
/**
* struct mgmt_frame_data - Management frame related info
* @mac_hdr: 802.11 Frame MAC header
* @status_code: Frame status code values as defined in
* IEEE 802.11 - 2020 standard Table 9-41
* @vdev_id: Vdev id
* @frame_subtype: Frame subtype as defined in IEEE 802.11 - 2020
* standard section 9.2.4.1.3
* @auth_algo: Authentication algorithm number field as defined in
* IEEE 802.11 - 2020 standard section 9.4.1.1
* @auth_type: indicates SAE authentication frame type. Possible values are:
* 1 - SAE commit frame
* 2 - SAE confirm frame
* @auth_seq: Authentication frame transaction sequence number as defined in
* IEEE 802.11 - 2020 standard section 9.4.1.2
* @rssi: RSSI in dBm
*/
struct mgmt_frame_data {
struct wlan_frame_hdr mac_hdr;
uint16_t status_code;
uint8_t vdev_id;
uint8_t frame_subtype;
uint8_t auth_algo;
uint8_t auth_type;
uint8_t auth_seq;
int16_t rssi;
};
#endif