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
此提交包含在:
Ashish Kumar Dhanotiya
2019-08-29 18:56:32 +05:30
提交者 nshrivas
父節點 f7e185e38c
當前提交 a0d573f072
共有 6 個檔案被更改,包括 14 行新增14 行删除

查看文件

@@ -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,

查看文件

@@ -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;

查看文件

@@ -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 +

查看文件

@@ -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) {

查看文件

@@ -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;

查看文件

@@ -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;