From 833aa96a5b4fa25a3f1aaf1e5a835b0631f741b9 Mon Sep 17 00:00:00 2001 From: Amar Singhal Date: Tue, 25 Oct 2016 15:42:27 -0700 Subject: [PATCH] qcacld-3.0: Set maximum channel width correctly In case channel width is defined to be CH_WIDTH_MAX; channel width set to CH_WIDTH_80P80MHZ. This can be incorrect if the secondary frequency segment is not defined. So conditionally set maximum channel width to CH_WITH_160MHZ. CRs-Fixed: 1082221 Change-Id: Iff28c56de56e5481814b4710eb51920a88f0f5f7 --- core/cds/src/cds_reg_service.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/cds/src/cds_reg_service.c b/core/cds/src/cds_reg_service.c index 9b6b00d8d079e..b486963516cbe 100644 --- a/core/cds/src/cds_reg_service.c +++ b/core/cds/src/cds_reg_service.c @@ -469,8 +469,12 @@ static void cds_set_5g_channel_params(uint16_t oper_ch, const struct bonded_chan *bonded_chan_ptr = NULL; const struct bonded_chan *bonded_chan_ptr2 = NULL; - if (CH_WIDTH_MAX <= ch_params->ch_width) - ch_params->ch_width = CH_WIDTH_80P80MHZ; + if (CH_WIDTH_MAX <= ch_params->ch_width) { + if (0 != ch_params->center_freq_seg1) + ch_params->ch_width = CH_WIDTH_80P80MHZ; + else + ch_params->ch_width = CH_WIDTH_160MHZ; + } while (ch_params->ch_width != CH_WIDTH_INVALID) { bonded_chan_ptr = NULL;