diff options
| author | Krunal Soni <ksoni@codeaurora.org> | 2016-04-22 10:57:30 -0700 |
|---|---|---|
| committer | Vishwajith Upendra <vishwaji@codeaurora.org> | 2016-04-27 17:00:20 -0700 |
| commit | eda6d7ec5077f0dab7b7914f40dfd89a7d2cd2de (patch) | |
| tree | 2d4c8a83dc1ee4e3c67f8474e46c389402f28716 | |
| parent | b66fc73614723a88a03102d0d9a214db47ce52bb (diff) | |
qcacld-3.0: Fix memory allocation for zero channel list
Current driver try allocate memory when number of channel are passed
as zero which will cause memory allocation failure.
As part of the fix, when number of channels comes as zero then driver
shouldn't allocate memory and let the firmware take care of it.
CRs-Fixed: 1007196
Change-Id: I51d8a6decbe4c21265e88624e490446a48ea4857
| -rw-r--r-- | core/wma/src/wma_scan_roam.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 295cde659da1..fc08eef58e72 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -483,14 +483,14 @@ QDF_STATUS wma_start_scan(tp_wma_handle wma_handle, struct scan_start_params cmd = {0}; tSirScanOffloadEvent *scan_event; - cmd.chan_list = qdf_mem_malloc(sizeof(uint32_t) * - scan_req->channelList.numChannels); - if (NULL == cmd.chan_list) { - qdf_status = QDF_STATUS_E_NOMEM; - goto error; + if (scan_req->channelList.numChannels > 0) { + cmd.chan_list = qdf_mem_malloc(sizeof(uint32_t) * + scan_req->channelList.numChannels); + if (NULL == cmd.chan_list) { + qdf_status = QDF_STATUS_E_NOMEM; + goto error; + } } - qdf_mem_zero((void *)cmd.chan_list, sizeof(uint32_t) * - scan_req->channelList.numChannels); if (scan_req->sessionId > wma_handle->max_bssid) { WMA_LOGE("%s: Invalid vdev_id %d, msg_type : 0x%x", __func__, scan_req->sessionId, msg_type); |
