summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinmux.c
diff options
context:
space:
mode:
authorAlexandre Torgue <alexandre.torgue@st.com>2019-12-04 15:41:06 +0100
committerLinus Walleij <linus.walleij@linaro.org>2019-12-13 10:57:23 +0100
commit6ba2fd391ac58c1a26874f10c3054a1ea4aca2d0 (patch)
tree03fdfb3d713e9d74fedf839b34d80b9f90d460e6 /drivers/pinctrl/pinmux.c
parentpinctrl: aspeed-g6: Fix LPC/eSPI mux configuration (diff)
downloadlinux-6ba2fd391ac58c1a26874f10c3054a1ea4aca2d0.tar.xz
linux-6ba2fd391ac58c1a26874f10c3054a1ea4aca2d0.zip
pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio
This commit adds a check on ops pointer to avoid a kernel panic when ops->strict is used. Indeed, on some pinctrl driver (at least for pinctrl-stmfx) the pinmux ops is not implemented. Let's assume than gpio can be used in this case. Fixes: 472a61e777fe ("pinctrl/gpio: Take MUX usage into account") Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> Link: https://lore.kernel.org/r/20191204144106.10876-1-alexandre.torgue@st.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinmux.c')
-rw-r--r--drivers/pinctrl/pinmux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index e914f6efd39e..9503ddf2edc7 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -85,7 +85,7 @@ bool pinmux_can_be_used_for_gpio(struct pinctrl_dev *pctldev, unsigned pin)
const struct pinmux_ops *ops = pctldev->desc->pmxops;
/* Can't inspect pin, assume it can be used */
- if (!desc)
+ if (!desc || !ops)
return true;
if (ops->strict && desc->mux_usecount)