소스 검색

qcacmn: Overwrite center frequency segment_1 to 0

Currently center_freq_seg1 value is not getting reset for
non 160, 80+80 width and 2.4 GHz channel which are stored in
sap context, in case of SSR on SAP restart, this old value
can be used which might be some junk value and can lead to
stop bss as a result of invalid values.

To resolve this issue reset the center_freq_seg1 to 0 for
non 160, 80+80 width and 2.4 GHz.

Change-Id: Ie4bffb1c2424024fab32d30d7d790f99d54ad58c
CRs-Fixed: 2326392
Ashish Kumar Dhanotiya 6 년 전
부모
커밋
2fcd71bff6
1개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      umac/regulatory/core/src/reg_services.c

+ 7 - 0
umac/regulatory/core/src/reg_services.c

@@ -1237,6 +1237,11 @@ static void reg_set_5g_channel_params(struct wlan_objmgr_pdev *pdev,
 				 bonded_chan_ptr->end_ch)/2;
 	}
 
+	/* Overwrite center_freq_seg1 to 0 for non 160 and 80+80 width */
+	if (!(ch_params->ch_width == CH_WIDTH_160MHZ ||
+	      ch_params->ch_width == CH_WIDTH_80P80MHZ))
+		ch_params->center_freq_seg1 = 0;
+
 	reg_debug("ch %d ch_wd %d freq0 %d freq1 %d", ch,
 		  ch_params->ch_width, ch_params->center_freq_seg0,
 		  ch_params->center_freq_seg1);
@@ -1288,6 +1293,8 @@ static void reg_set_2g_channel_params(struct wlan_objmgr_pdev *pdev,
 
 		ch_params->ch_width = get_next_lower_bw[ch_params->ch_width];
 	}
+	/* Overwrite center_freq_seg1 to 0 for 2.4 Ghz */
+	ch_params->center_freq_seg1 = 0;
 }
 
 /**