Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61c59170 authored by Banajit Goswami's avatar Banajit Goswami Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: msm: qdsp6v2: avoid returning 0-size cal block



When looking for calibration data blocks, check for size being
non-zero before returning to the caller.

Change-Id: I8f94d17455000c0f15e53bf7685b21a7b1c1955e
Signed-off-by: default avatarBanajit Goswami <bgoswami@codeaurora.org>
parent cd2c69a8
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -1649,11 +1649,13 @@ static struct cal_block_data *adm_find_cal_by_path(int cal_index, int path)

		if (cal_index == ADM_AUDPROC_CAL) {
			audproc_cal_info = cal_block->cal_info;
			if (audproc_cal_info->path == path)
			if ((audproc_cal_info->path == path) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		} else if (cal_index == ADM_AUDVOL_CAL) {
			audvol_cal_info = cal_block->cal_info;
			if (audvol_cal_info->path == path)
			if ((audvol_cal_info->path == path) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		}
	}
@@ -1680,12 +1682,14 @@ static struct cal_block_data *adm_find_cal_by_app_type(int cal_index, int path,
		if (cal_index == ADM_AUDPROC_CAL) {
			audproc_cal_info = cal_block->cal_info;
			if ((audproc_cal_info->path == path) &&
			    (audproc_cal_info->app_type == app_type))
			    (audproc_cal_info->app_type == app_type) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		} else if (cal_index == ADM_AUDVOL_CAL) {
			audvol_cal_info = cal_block->cal_info;
			if ((audvol_cal_info->path == path) &&
			    (audvol_cal_info->app_type == app_type))
			    (audvol_cal_info->app_type == app_type) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		}
	}
@@ -1716,13 +1720,15 @@ static struct cal_block_data *adm_find_cal(int cal_index, int path,
			if ((audproc_cal_info->path == path) &&
			    (audproc_cal_info->app_type == app_type) &&
			    (audproc_cal_info->acdb_id == acdb_id) &&
			    (audproc_cal_info->sample_rate == sample_rate))
			    (audproc_cal_info->sample_rate == sample_rate) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		} else if (cal_index == ADM_AUDVOL_CAL) {
			audvol_cal_info = cal_block->cal_info;
			if ((audvol_cal_info->path == path) &&
			    (audvol_cal_info->app_type == app_type) &&
			    (audvol_cal_info->acdb_id == acdb_id))
			    (audvol_cal_info->acdb_id == acdb_id) &&
			    (cal_block->cal_data.size > 0))
				return cal_block;
		}
	}