diff options
Diffstat (limited to 'target/linux/mediatek/patches-4.14/0194-pinctrl-mediatek-mt7622-fix-potential-uninitialized-.patch')
-rw-r--r-- | target/linux/mediatek/patches-4.14/0194-pinctrl-mediatek-mt7622-fix-potential-uninitialized-.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/target/linux/mediatek/patches-4.14/0194-pinctrl-mediatek-mt7622-fix-potential-uninitialized-.patch b/target/linux/mediatek/patches-4.14/0194-pinctrl-mediatek-mt7622-fix-potential-uninitialized-.patch new file mode 100644 index 0000000000..a71af5005c --- /dev/null +++ b/target/linux/mediatek/patches-4.14/0194-pinctrl-mediatek-mt7622-fix-potential-uninitialized-.patch @@ -0,0 +1,54 @@ +From cfcb2cc358f3ff466d4c419d8f6fe0263bdc47b1 Mon Sep 17 00:00:00 2001 +From: Sean Wang <sean.wang@mediatek.com> +Date: Wed, 10 Jan 2018 00:28:24 +0800 +Subject: [PATCH 194/224] 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> +--- + drivers/pinctrl/mediatek/pinctrl-mt7622.c | 6 ++++-- + 1 file 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; + } +-- +2.11.0 + |