qcacld-3.0: Convert channel to frequency in rx mgmt handler
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 a part of above requirement, in the existing WMI interface handlers and related functions, wherever missing, add frequency attributes to identify unique channel operation. Change-Id: I757f60cef414d206b275b4fbd192d5d22bbc93d7 CRs-Fixed: 2517901
This commit is contained in:

committed by
nshrivas

parent
d3f8d3a927
commit
285213c6cb
@@ -878,9 +878,10 @@ struct tdls_ch_params {
|
||||
* @peer_chan: peer channel list
|
||||
* @peer_oper_classlen: peer operating class length
|
||||
* @peer_oper_class: peer operating class
|
||||
* @pref_off_channum: peer offchannel number
|
||||
* @pref_off_channum: preferred offchannel number
|
||||
* @pref_off_chan_bandwidth: peer offchannel bandwidth
|
||||
* @opclass_for_prefoffchan: operating class for offchannel
|
||||
* @pref_offchan_freq: preferred offchannel frequency
|
||||
*/
|
||||
struct tdls_peer_params {
|
||||
uint8_t is_peer_responder;
|
||||
@@ -897,6 +898,7 @@ struct tdls_peer_params {
|
||||
uint8_t pref_off_channum;
|
||||
uint8_t pref_off_chan_bandwidth;
|
||||
uint8_t opclass_for_prefoffchan;
|
||||
uint32_t pref_offchan_freq;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -922,6 +924,7 @@ struct tdls_peer_update_state {
|
||||
* @tdls_off_ch: Target Off Channel
|
||||
* @oper_class: Operating class for target channel
|
||||
* @is_responder: Responder or initiator
|
||||
* @tdls_off_chan_freq: Target Off Channel frequency
|
||||
*/
|
||||
struct tdls_channel_switch_params {
|
||||
uint32_t vdev_id;
|
||||
@@ -931,6 +934,7 @@ struct tdls_channel_switch_params {
|
||||
uint8_t tdls_sw_mode;
|
||||
uint8_t oper_class;
|
||||
uint8_t is_responder;
|
||||
uint32_t tdls_off_chan_freq;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -4476,6 +4476,26 @@ static int wma_mgmt_rx_process(void *handle, uint8_t *data,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!mgmt_rx_params->chan_freq) {
|
||||
/*
|
||||
* It indicates that FW is legacy and is operating on
|
||||
* channel numbers and it also indicates that BAND_6G support
|
||||
* is not there as BAND_6G works only on frequencies and channel
|
||||
* numbers can be treated as unique.
|
||||
*/
|
||||
if (mgmt_rx_params->channel >= WLAN_REG_MIN_24GHZ_CH_NUM &&
|
||||
mgmt_rx_params->channel <= WLAN_REG_MAX_24GHZ_CH_NUM)
|
||||
mgmt_rx_params->chan_freq =
|
||||
wlan_reg_chan_to_freq(
|
||||
wma_handle->pdev,
|
||||
mgmt_rx_params->channel);
|
||||
else
|
||||
mgmt_rx_params->chan_freq =
|
||||
wlan_reg_chan_to_freq(
|
||||
wma_handle->pdev,
|
||||
mgmt_rx_params->channel);
|
||||
}
|
||||
|
||||
mgmt_rx_params->pdev_id = 0;
|
||||
mgmt_rx_params->rx_params = NULL;
|
||||
|
||||
|
Reference in New Issue
Block a user