summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilson Sung <wilsonsung@google.com>2022-10-26 17:39:17 +0800
committerWilson Sung <wilsonsung@google.com>2022-10-26 17:39:17 +0800
commit5729b2f716350d9a63f12b1f33db8f4ce5a7815f (patch)
treeb406f13a2c45ac086395ad8689082a18f3336c57
parent7dc18a6a211368994cd9355ade0c79165ba2ff15 (diff)
parent7466c3a085206d957a531372f97e8abe73e635fe (diff)
downloadmsm-extra-5729b2f716350d9a63f12b1f33db8f4ce5a7815f.tar.gz
Merge branch 'LA.UM.9.12.C10.11.00.00.840.415' via branch 'qcom-msm-4.19-7250-audio-drivers.lnx.4.0.r3' into android-msm-pixel-4.19
Change-Id: I9fada88babca9903940b66d51ce9e94cd0c8bcf7
-rw-r--r--asoc/msm-pcm-routing-v2.c6
-rw-r--r--soc/pinctrl-lpi.c13
2 files changed, 14 insertions, 5 deletions
diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c
index b52e5d70..868e254c 100644
--- a/asoc/msm-pcm-routing-v2.c
+++ b/asoc/msm-pcm-routing-v2.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/init.h>
@@ -1665,6 +1666,11 @@ static int msm_pcm_routing_channel_mixer_v2(int fe_id, bool perf_mode,
}
be_id = channel_mixer_v2[fe_id][sess_type].port_idx - 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_v2[fe_id][sess_type].input_channels[0] =
channel_mixer_v2[fe_id][sess_type].input_channel;
diff --git a/soc/pinctrl-lpi.c b/soc/pinctrl-lpi.c
index 3258b10f..ec075e82 100644
--- a/soc/pinctrl-lpi.c
+++ b/soc/pinctrl-lpi.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/gpio.h>
@@ -261,12 +262,14 @@ static int lpi_gpio_set_mux(struct pinctrl_dev *pctldev, unsigned int function,
pad = pctldev->desc->pins[pin].drv_data;
- pad->function = function;
+ if (pad != NULL) {
+ pad->function = function;
- val = lpi_gpio_read(pad, LPI_GPIO_REG_VAL_CTL);
- val &= ~(LPI_GPIO_REG_FUNCTION_MASK);
- val |= pad->function << LPI_GPIO_REG_FUNCTION_SHIFT;
- lpi_gpio_write(pad, LPI_GPIO_REG_VAL_CTL, val);
+ val = lpi_gpio_read(pad, LPI_GPIO_REG_VAL_CTL);
+ val &= ~(LPI_GPIO_REG_FUNCTION_MASK);
+ val |= pad->function << LPI_GPIO_REG_FUNCTION_SHIFT;
+ lpi_gpio_write(pad, LPI_GPIO_REG_VAL_CTL, val);
+ }
return 0;
}