Selaa lähdekoodia

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
Amar Singhal 8 vuotta sitten
vanhempi
sitoutus
833aa96a5b
1 muutettua tiedostoa jossa 6 lisäystä ja 2 poistoa
  1. 6 2
      core/cds/src/cds_reg_service.c

+ 6 - 2
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;