From a0d573f072206217e7a722eef1d945004bb604fe Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Thu, 29 Aug 2019 18:56:32 +0530 Subject: [PATCH] qcacld-3.0: Process rx_mgmt_pkt based on frequency As a part of 802.11ax amendment, 6GHz band operation is added. Since the 6 GHz channel numbers are overlapping with existing 2.4GHz and 5GHz channel numbers, use frequency to identify unique channel operation instead of channel number. Channel frequency is unique across bands. As part of above requirement add logic to process rx mgmt packets based on the frequencies instead of channel numbers. Change-Id: Ib063070738ecdb4f83379eafe50629778a490aae CRs-fixed: 2522693 --- p2p/core/src/wlan_p2p_off_chan_tx.c | 8 ++++---- p2p/dispatcher/inc/wlan_p2p_public_struct.h | 4 ++-- p2p/dispatcher/src/wlan_p2p_tgt_api.c | 2 +- tdls/core/src/wlan_tdls_mgmt.c | 8 ++++---- tdls/dispatcher/inc/wlan_tdls_public_structs.h | 4 ++-- tdls/dispatcher/src/wlan_tdls_tgt_api.c | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/p2p/core/src/wlan_p2p_off_chan_tx.c b/p2p/core/src/wlan_p2p_off_chan_tx.c index b74e709e2d..014d316914 100644 --- a/p2p/core/src/wlan_p2p_off_chan_tx.c +++ b/p2p/core/src/wlan_p2p_off_chan_tx.c @@ -3015,10 +3015,10 @@ QDF_STATUS p2p_process_rx_mgmt( return QDF_STATUS_E_INVAL; } - p2p_debug("soc:%pK, frame_len:%d, rx_chan:%d, vdev_id:%d, frm_type:%d, rx_rssi:%d, buf:%pK", - p2p_soc_obj->soc, rx_mgmt->frame_len, - rx_mgmt->rx_chan, rx_mgmt->vdev_id, rx_mgmt->frm_type, - rx_mgmt->rx_rssi, rx_mgmt->buf); + p2p_debug("soc:%pK, frame_len:%d, rx_freq:%d, vdev_id:%d, frm_type:%d, rx_rssi:%d, buf:%pK", + p2p_soc_obj->soc, rx_mgmt->frame_len, + rx_mgmt->rx_freq, rx_mgmt->vdev_id, rx_mgmt->frm_type, + rx_mgmt->rx_rssi, rx_mgmt->buf); if (rx_mgmt->frm_type == MGMT_ACTION_VENDOR_SPECIFIC) { p2p_get_frame_info(rx_mgmt->buf, rx_mgmt->frame_len, diff --git a/p2p/dispatcher/inc/wlan_p2p_public_struct.h b/p2p/dispatcher/inc/wlan_p2p_public_struct.h index 0172ff34fb..33fd71c70b 100644 --- a/p2p/dispatcher/inc/wlan_p2p_public_struct.h +++ b/p2p/dispatcher/inc/wlan_p2p_public_struct.h @@ -103,7 +103,7 @@ struct p2p_event { /** * struct p2p_rx_mgmt_frame - rx mgmt frame structure * @frame_len: Frame length - * @rx_chan: RX channel + * @rx_freq: RX Frequency * @vdev_id: Vdev id * @frm_type: Frame type * @rx_rssi: RX rssi @@ -111,7 +111,7 @@ struct p2p_event { */ struct p2p_rx_mgmt_frame { uint32_t frame_len; - uint32_t rx_chan; + uint32_t rx_freq; uint32_t vdev_id; uint32_t frm_type; uint32_t rx_rssi; diff --git a/p2p/dispatcher/src/wlan_p2p_tgt_api.c b/p2p/dispatcher/src/wlan_p2p_tgt_api.c index 8615c665e2..3416c87685 100644 --- a/p2p/dispatcher/src/wlan_p2p_tgt_api.c +++ b/p2p/dispatcher/src/wlan_p2p_tgt_api.c @@ -349,7 +349,7 @@ QDF_STATUS tgt_p2p_mgmt_frame_rx_cb(struct wlan_objmgr_psoc *psoc, pdata = (uint8_t *)qdf_nbuf_data(buf); rx_mgmt->frame_len = mgmt_rx_params->buf_len; - rx_mgmt->rx_chan = mgmt_rx_params->channel; + rx_mgmt->rx_freq = mgmt_rx_params->chan_freq; rx_mgmt->vdev_id = vdev_id; rx_mgmt->frm_type = frm_type; rx_mgmt->rx_rssi = mgmt_rx_params->snr + diff --git a/tdls/core/src/wlan_tdls_mgmt.c b/tdls/core/src/wlan_tdls_mgmt.c index 0d35db5fdd..facd63fc9a 100644 --- a/tdls/core/src/wlan_tdls_mgmt.c +++ b/tdls/core/src/wlan_tdls_mgmt.c @@ -104,10 +104,10 @@ static QDF_STATUS tdls_process_rx_mgmt( return QDF_STATUS_E_INVAL; } - tdls_debug("soc:%pK, frame_len:%d, rx_chan:%d, vdev_id:%d, frm_type:%d, rx_rssi:%d, buf:%pK", - tdls_soc_obj->soc, rx_mgmt->frame_len, - rx_mgmt->rx_chan, rx_mgmt->vdev_id, rx_mgmt->frm_type, - rx_mgmt->rx_rssi, rx_mgmt->buf); + tdls_debug("soc:%pK, frame_len:%d, rx_freq:%d, vdev_id:%d, frm_type:%d, rx_rssi:%d, buf:%pK", + tdls_soc_obj->soc, rx_mgmt->frame_len, + rx_mgmt->rx_freq, rx_mgmt->vdev_id, rx_mgmt->frm_type, + rx_mgmt->rx_rssi, rx_mgmt->buf); if (rx_mgmt->buf[TDLS_PUBLIC_ACTION_FRAME_OFFSET + 1] == TDLS_PUBLIC_ACTION_DISC_RESP) { diff --git a/tdls/dispatcher/inc/wlan_tdls_public_structs.h b/tdls/dispatcher/inc/wlan_tdls_public_structs.h index d7f9fa24dd..c4699a638d 100644 --- a/tdls/dispatcher/inc/wlan_tdls_public_structs.h +++ b/tdls/dispatcher/inc/wlan_tdls_public_structs.h @@ -545,7 +545,7 @@ struct tdls_tx_cnf { /** * struct tdls_rx_mgmt_frame - rx mgmt frame structure * @frame_len: frame length - * @rx_chan: rx channel + * @rx_freq: rx freq * @vdev_id: vdev id * @frm_type: frame type * @rx_rssi: rx rssi @@ -553,7 +553,7 @@ struct tdls_tx_cnf { */ struct tdls_rx_mgmt_frame { uint32_t frame_len; - uint32_t rx_chan; + uint32_t rx_freq; uint32_t vdev_id; uint32_t frm_type; uint32_t rx_rssi; diff --git a/tdls/dispatcher/src/wlan_tdls_tgt_api.c b/tdls/dispatcher/src/wlan_tdls_tgt_api.c index a2927b7b91..311e74c5df 100644 --- a/tdls/dispatcher/src/wlan_tdls_tgt_api.c +++ b/tdls/dispatcher/src/wlan_tdls_tgt_api.c @@ -293,7 +293,7 @@ QDF_STATUS tgt_tdls_mgmt_frame_process_rx_cb( pdata = (uint8_t *)qdf_nbuf_data(buf); rx_mgmt->frame_len = mgmt_rx_params->buf_len; - rx_mgmt->rx_chan = mgmt_rx_params->channel; + rx_mgmt->rx_freq = mgmt_rx_params->chan_freq; rx_mgmt->vdev_id = vdev_id; rx_mgmt->frm_type = frm_type; rx_mgmt->rx_rssi = mgmt_rx_params->rssi;