ソースを参照

qcacld-3.0: Check channel bw valid in pre vdev start

wlan_reg_set_channel_params_for_freq API will check the bonded
channels are valid or not. If invalid ch width is returned, that
means no suitable channel bonding in current regdomain for
requested channel frequency, then abort the vdev start request.

Change-Id: Ibca5ef7af72f1fd45855d64f380abaa49c0f54c4
CRs-Fixed: 2777637
Liangwei Dong 4 年 前
コミット
7cc3eecb25
1 ファイル変更7 行追加0 行削除
  1. 7 0
      core/mac/src/pe/lim/lim_utils.c

+ 7 - 0
core/mac/src/pe/lim/lim_utils.c

@@ -8719,6 +8719,13 @@ QDF_STATUS lim_pre_vdev_start(struct mac_context *mac,
 		 session->beacon_tx_rate,
 		 ch_params.mhz_freq_seg0,
 		 ch_params.mhz_freq_seg1);
+	/* Invalid channel width means no suitable channel bonding in current
+	 * regdomain for requested channel frequency. Abort vdev start.
+	 */
+	if (ch_params.ch_width == CH_WIDTH_INVALID) {
+		pe_debug("abort vdev start invalid chan parameters");
+		return QDF_STATUS_E_INVAL;
+	}
 
 	des_chan = mlme_obj->vdev->vdev_mlme.des_chan;
 	des_chan->ch_freq = session->curr_op_freq;