From 752d64eff3685e4be4e91178e9229c096d506f54 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Thu, 5 Oct 2017 16:32:58 -0700 Subject: [PATCH] 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 --- core/wma/src/wma_main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index f98e04d8871a..416f878c484d 100644 --- a/core/wma/src/wma_main.c +++ b/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;