summaryrefslogtreecommitdiff
path: root/soc
diff options
context:
space:
mode:
authorShazmaan Ali <quic_shazmaan@quicinc.com>2022-03-25 13:51:35 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2022-05-10 13:38:41 -0700
commit7466c3a085206d957a531372f97e8abe73e635fe (patch)
treeb406f13a2c45ac086395ad8689082a18f3336c57 /soc
parentad59b31b3cd15d9e2e07eadbdeaf63008792c57e (diff)
downloadmsm-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.c13
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;
}