Просмотр исходного кода

qcacld-3.0: Fail channel sap channel change request for channel 0

In function wlansap_channel_change_request validate channel requested
before processing the request.

Change-Id: I1cc8c978b15fe6ee043ce6bf712a109994dce50b
CRs-Fixed: 2212078
Naveen Rawat 7 лет назад
Родитель
Сommit
b4ea70f96e
2 измененных файлов с 12 добавлено и 0 удалено
  1. 6 0
      core/sap/src/sap_module.c
  2. 6 0
      core/wma/src/wma_dev_if.c

+ 6 - 0
core/sap/src/sap_module.c

@@ -1706,6 +1706,12 @@ QDF_STATUS wlansap_channel_change_request(struct sap_context *sapContext,
 	eCsrPhyMode phy_mode;
 	struct ch_params *ch_params;
 
+	if (!target_channel) {
+		QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
+			  "%s: channel 0 requested", __func__);
+		return QDF_STATUS_E_FAULT;
+	}
+
 	if (NULL == sapContext) {
 		QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
 			  "%s: Invalid SAP pointer", __func__);

+ 6 - 0
core/wma/src/wma_dev_if.c

@@ -2572,6 +2572,12 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma,
 		return QDF_STATUS_E_FAILURE;
 	}
 
+	if (req->chan == 0) {
+		WMA_LOGE("%s: invalid channel: %d", __func__, req->chan);
+		QDF_ASSERT(0);
+		return QDF_STATUS_E_INVAL;
+	}
+
 	params.band_center_freq1 = cds_chan_to_freq(req->chan);
 	ch_width = req->chan_width;
 	bw_val = wlan_reg_get_bw_value(req->chan_width);