diff options
author | Shazmaan Ali <quic_shazmaan@quicinc.com> | 2022-03-25 13:51:35 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2022-05-10 13:38:41 -0700 |
commit | 7466c3a085206d957a531372f97e8abe73e635fe (patch) | |
tree | b406f13a2c45ac086395ad8689082a18f3336c57 /soc | |
parent | ad59b31b3cd15d9e2e07eadbdeaf63008792c57e (diff) | |
download | msm-extra-7466c3a085206d957a531372f97e8abe73e635fe.tar.gz |
asoc: codecs: Add nullptr check
fix for nullptr deref issue
Change-Id: I26acf2c5c696038c6d5c64d858174b2f2c58a7d3
Signed-off-by: Shazmaan Ali <quic_shazmaan@quicinc.com>
Diffstat (limited to 'soc')
-rw-r--r-- | soc/pinctrl-lpi.c | 13 |
1 files changed, 8 insertions, 5 deletions
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; } |