summaryrefslogtreecommitdiff
path: root/core/wma/src/wma_mgmt.c
diff options
context:
space:
mode:
authorSrinivas Girigowda <sgirigow@codeaurora.org>2018-03-19 16:05:41 -0700
committerSrinivas Girigowda <sgirigow@codeaurora.org>2018-03-19 16:06:50 -0700
commita71ea4f219ea3461702ebf2f211fb355060436ad (patch)
tree51b04bd7834a6854b1cdfd623b87891d950aa950 /core/wma/src/wma_mgmt.c
parent0bd7bf7595e3a18ad5365c792b06c4fe8029db37 (diff)
downloadqcacld-a71ea4f219ea3461702ebf2f211fb355060436ad.tar.gz
qcacld-3.0: WLAN upgrade to 5.3.1.1B
20d718e qcacld-3.0: Add debugfs support for roam scan stats 78c1290 qcacld-3.0: Add debugfs support for offload info 98323f8 qcacld-3.0: Add debugfs support for connect info 22966f6 qcacld-3.0: Add debugfs framework support for CSR 7ff6211 Release 5.3.1.1B f221f0d qcacld-3.0: Call the 11d state machine even for cached regulatory 02c24fd qcacld-3.0: Revert accidental removal of sanity check 4875bf1 qcacld-3.0: Fix use before malloc when ipa disable from ini 12b609c qcacld-3.0: Accept nan responder request without iface name dddcead qcacld-3.0: Don't process set mac net dev operation on interface up ea23ce3 qcacld-3.0: Ignore qdf debug fs create failure during init Bug: 75978775 Change-Id: I6b0e9304081ca11d37163e1a512c527bc5121d68 Signed-off-by: Srinivas Girigowda <sgirigow@codeaurora.org>
Diffstat (limited to 'core/wma/src/wma_mgmt.c')
-rw-r--r--core/wma/src/wma_mgmt.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c
index 3023f7aedf..a9b35c881f 100644
--- a/core/wma/src/wma_mgmt.c
+++ b/core/wma/src/wma_mgmt.c
@@ -2899,12 +2899,21 @@ void wma_process_update_opmode(tp_wma_handle wma_handle,
{
struct wma_txrx_node *iface;
uint16_t chan_mode;
+ wmi_channel_width ch_width;
iface = &wma_handle->interfaces[update_vht_opmode->smesessionId];
if (iface == NULL)
return;
+ ch_width = chanmode_to_chanwidth(iface->chanmode);
+ if (ch_width < update_vht_opmode->opMode) {
+ WMA_LOGE("%s: Invalid peer bw update %d, self bw %d",
+ __func__, update_vht_opmode->opMode,
+ ch_width);
+ return;
+ }
+
chan_mode = wma_chan_phy_mode(cds_freq_to_chan(iface->mhz),
update_vht_opmode->opMode,
update_vht_opmode->dot11_mode);
@@ -2917,11 +2926,11 @@ void wma_process_update_opmode(tp_wma_handle wma_handle,
update_vht_opmode->dot11_mode);
wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac,
- WMI_PEER_PHYMODE, chan_mode,
+ WMI_PEER_CHWIDTH, update_vht_opmode->opMode,
update_vht_opmode->smesessionId);
wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac,
- WMI_PEER_CHWIDTH, update_vht_opmode->opMode,
+ WMI_PEER_PHYMODE, chan_mode,
update_vht_opmode->smesessionId);
}
@@ -3791,7 +3800,8 @@ QDF_STATUS wma_register_roaming_callbacks(void *cds_ctx,
enum sir_roam_op_code reason),
QDF_STATUS (*pe_roam_synch_cb)(tpAniSirGlobal mac,
roam_offload_synch_ind *roam_synch_data,
- tpSirBssDescription bss_desc_ptr))
+ tpSirBssDescription bss_desc_ptr,
+ enum sir_roam_op_code reason))
{
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);