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

Commit 50d8130a authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dsp: adm: add to check output/input channel"

parents c0a246ee 8851d6d1
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -1935,6 +1935,11 @@ static int msm_pcm_routing_channel_mixer(int fe_id, bool perf_mode,
	for (i = 0; i < ADM_MAX_CHANNELS && channel_input[fe_id][i] > 0;
		++i) {
		be_id = channel_input[fe_id][i] - 1;
		if (be_id < 0 || be_id >= MSM_BACKEND_DAI_MAX) {
			pr_err("%s: Received out of bounds be_id %d\n",
					__func__, be_id);
			return -EINVAL;
		}
		channel_mixer[fe_id].input_channels[i] =
						msm_bedais[be_id].channel;
@@ -3685,10 +3690,10 @@ static int msm_pcm_get_out_chs(struct snd_kcontrol *kcontrol,
static int msm_pcm_put_out_chs(struct snd_kcontrol *kcontrol,
				struct snd_ctl_elem_value *ucontrol)
{
	u16 fe_id = 0;
	u16 fe_id = 0, out_ch = 0;
	fe_id = ((struct soc_multi_mixer_control *)
			kcontrol->private_value)->shift;
	out_ch = ucontrol->value.integer.value[0];
	if (fe_id >= MSM_FRONTEND_DAI_MM_SIZE) {
		pr_err("%s: invalid FE %d\n", __func__, fe_id);
		return -EINVAL;
@@ -3697,6 +3702,12 @@ static int msm_pcm_put_out_chs(struct snd_kcontrol *kcontrol,
	pr_debug("%s: fe_id is %d, output channels = %d\n", __func__,
			fe_id,
			(unsigned int)(ucontrol->value.integer.value[0]));
	if (out_ch < 0 ||
		out_ch > ADM_MAX_CHANNELS) {
		pr_err("%s: invalid output channel %d\n", __func__,
				out_ch);
		return -EINVAL;
	}
	channel_mixer[fe_id].output_channel =
			(unsigned int)(ucontrol->value.integer.value[0]);