aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorSean Wang <sean.wang@mediatek.com>2018-01-10 00:28:24 +0800
committerLinus Walleij <linus.walleij@linaro.org>2018-01-11 10:42:12 +0100
commit181cdac02c51a77f9ae497be624edb99056a0a10 (patch)
tree11ea6d2fca354713f2d53bbdcbdc41e7c0974df3 /drivers/pinctrl
parentpinctrl: uniphier: refactor drive strength get/set functions (diff)
downloadlinux-dev-181cdac02c51a77f9ae497be624edb99056a0a10.tar.xz
linux-dev-181cdac02c51a77f9ae497be624edb99056a0a10.zip
pinctrl: mediatek: mt7622: fix potential uninitialized value being returned
commit d6ed93551320 ("pinctrl: mediatek: add pinctrl driver for MT7622 SoC") leads to the following static checker warning: drivers/pinctrl/mediatek/pinctrl-mt7622.c:1419 mtk_gpio_get() error: uninitialized symbol 'value'. 1412 static int mtk_gpio_get(struct gpio_chip *chip, unsigned int gpio) 1413 { 1414 struct mtk_pinctrl *hw = dev_get_drvdata(chip->parent); 1415 int value; 1416 1417 mtk_hw_get_value(hw, gpio, PINCTRL_PIN_REG_DI, &value); ^^^^^^^^^^^^^^^^ 1418 1419 return !!value; 1420 } The appropriate error handling must be added to avoid the potential error caused by uninitialized value being returned. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mt7622.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
index 3824d82888ac..dc32e3c3bd73 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
@@ -1412,9 +1412,11 @@ static struct pinctrl_desc mtk_desc = {
static int mtk_gpio_get(struct gpio_chip *chip, unsigned int gpio)
{
struct mtk_pinctrl *hw = dev_get_drvdata(chip->parent);
- int value;
+ int value, err;
- mtk_hw_get_value(hw, gpio, PINCTRL_PIN_REG_DI, &value);
+ err = mtk_hw_get_value(hw, gpio, PINCTRL_PIN_REG_DI, &value);
+ if (err)
+ return err;
return !!value;
}