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

qcacld-3.0: Do not send limit_off_chan param if vdev is not up

Add sanity check to reject limit off channel param configuration
if vdev is not up to avoid fw assert.

Change-Id: I8b550e3963896cb8b202747b70f3553750290ee5
CRs-Fixed: 2121828
Rajeev Kumar 7 лет назад
Родитель
Сommit
752d64eff3
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      core/wma/src/wma_main.c

+ 10 - 0
core/wma/src/wma_main.c

@@ -7096,6 +7096,16 @@ static QDF_STATUS wma_process_limit_off_chan(tp_wma_handle wma_handle,
 	int32_t err;
 	struct wmi_limit_off_chan_param limit_off_chan_param;
 
+	if (param->vdev_id >= wma_handle->max_bssid) {
+		WMA_LOGE(FL("Invalid vdev_id: %d"), param->vdev_id);
+		return QDF_STATUS_E_INVAL;
+	}
+	if (!wma_is_vdev_up(param->vdev_id)) {
+		WMA_LOGE("vdev %d is not up skipping limit_off_chan_param",
+			param->vdev_id);
+		return QDF_STATUS_E_INVAL;
+	}
+
 	limit_off_chan_param.vdev_id = param->vdev_id;
 	limit_off_chan_param.status = param->is_tos_active;
 	limit_off_chan_param.max_offchan_time = param->max_off_chan_time;