* [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned @ 2018-01-09 16:28 sean.wang at mediatek.com 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: sean.wang at mediatek.com @ 2018-01-09 16:28 UTC (permalink / raw) To: linux-arm-kernel From: Sean Wang <sean.wang@mediatek.com> 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> --- 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 3824d82..dc32e3c 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.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call 2018-01-09 16:28 [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned sean.wang at mediatek.com @ 2018-01-09 16:28 ` sean.wang at mediatek.com 2018-01-10 9:01 ` Matthias Brugger 2018-01-11 9:44 ` Linus Walleij 2018-01-10 9:00 ` [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned Matthias Brugger 2018-01-11 9:42 ` Linus Walleij 2 siblings, 2 replies; 6+ messages in thread From: sean.wang at mediatek.com @ 2018-01-09 16:28 UTC (permalink / raw) To: linux-arm-kernel From: Sean Wang <sean.wang@mediatek.com> Make consistent error handling of all mtk_hw_get_value occurrences using propagating error code from the internal instead of creating a new one. Signed-off-by: Sean Wang <sean.wang@mediatek.com> --- drivers/pinctrl/mediatek/pinctrl-mt7622.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c index dc32e3c..06e8406 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c @@ -1160,7 +1160,7 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, case PIN_CONFIG_OUTPUT_ENABLE: err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_DIR, &val); if (err) - return -EINVAL; + return err; /* HW takes input mode as zero; output mode as non-zero */ if ((val && param == PIN_CONFIG_INPUT_ENABLE) || @@ -1184,11 +1184,11 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, case PIN_CONFIG_DRIVE_STRENGTH: err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_E4, &val); if (err) - return -EINVAL; + return err; err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_E8, &val2); if (err) - return -EINVAL; + return err; /* 4mA when (e8, e4) = (0, 0); 8mA when (e8, e4) = (0, 1) * 12mA when (e8, e4) = (1, 0); 16mA when (e8, e4) = (1, 1) @@ -1203,7 +1203,7 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, err = mtk_hw_get_value(hw, pin, reg, &val); if (err) - return -EINVAL; + return err; ret = val; -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com @ 2018-01-10 9:01 ` Matthias Brugger 2018-01-11 9:44 ` Linus Walleij 1 sibling, 0 replies; 6+ messages in thread From: Matthias Brugger @ 2018-01-10 9:01 UTC (permalink / raw) To: linux-arm-kernel On 01/09/2018 05:28 PM, sean.wang at mediatek.com wrote: > From: Sean Wang <sean.wang@mediatek.com> > > Make consistent error handling of all mtk_hw_get_value occurrences using > propagating error code from the internal instead of creating a new one. > > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > --> drivers/pinctrl/mediatek/pinctrl-mt7622.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c > index dc32e3c..06e8406 100644 > --- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c > +++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c > @@ -1160,7 +1160,7 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, > case PIN_CONFIG_OUTPUT_ENABLE: > err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_DIR, &val); > if (err) > - return -EINVAL; > + return err; > > /* HW takes input mode as zero; output mode as non-zero */ > if ((val && param == PIN_CONFIG_INPUT_ENABLE) || > @@ -1184,11 +1184,11 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, > case PIN_CONFIG_DRIVE_STRENGTH: > err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_E4, &val); > if (err) > - return -EINVAL; > + return err; > > err = mtk_hw_get_value(hw, pin, PINCTRL_PIN_REG_E8, &val2); > if (err) > - return -EINVAL; > + return err; > > /* 4mA when (e8, e4) = (0, 0); 8mA when (e8, e4) = (0, 1) > * 12mA when (e8, e4) = (1, 0); 16mA when (e8, e4) = (1, 1) > @@ -1203,7 +1203,7 @@ static int mtk_pinconf_get(struct pinctrl_dev *pctldev, > > err = mtk_hw_get_value(hw, pin, reg, &val); > if (err) > - return -EINVAL; > + return err; > > ret = val; > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com 2018-01-10 9:01 ` Matthias Brugger @ 2018-01-11 9:44 ` Linus Walleij 1 sibling, 0 replies; 6+ messages in thread From: Linus Walleij @ 2018-01-11 9:44 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jan 9, 2018 at 5:28 PM, <sean.wang@mediatek.com> wrote: > From: Sean Wang <sean.wang@mediatek.com> > > Make consistent error handling of all mtk_hw_get_value occurrences using > propagating error code from the internal instead of creating a new one. > > Signed-off-by: Sean Wang <sean.wang@mediatek.com> Patch applied. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned 2018-01-09 16:28 [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned sean.wang at mediatek.com 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com @ 2018-01-10 9:00 ` Matthias Brugger 2018-01-11 9:42 ` Linus Walleij 2 siblings, 0 replies; 6+ messages in thread From: Matthias Brugger @ 2018-01-10 9:00 UTC (permalink / raw) To: linux-arm-kernel On 01/09/2018 05:28 PM, sean.wang at mediatek.com wrote: > From: Sean Wang <sean.wang@mediatek.com> > > 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> > --- > drivers/pinctrl/mediatek/pinctrl-mt7622.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c > index 3824d82..dc32e3c 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; > } > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned 2018-01-09 16:28 [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned sean.wang at mediatek.com 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com 2018-01-10 9:00 ` [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned Matthias Brugger @ 2018-01-11 9:42 ` Linus Walleij 2 siblings, 0 replies; 6+ messages in thread From: Linus Walleij @ 2018-01-11 9:42 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jan 9, 2018 at 5:28 PM, <sean.wang@mediatek.com> wrote: > From: Sean Wang <sean.wang@mediatek.com> > > commit d6ed93551320 ("pinctrl: mediatek: add pinctrl driver for MT7622 > SoC") leads to the following static checker warning: Patch applied. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-01-11 9:44 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-09 16:28 [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned sean.wang at mediatek.com 2018-01-09 16:28 ` [PATCH 2/2] pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call sean.wang at mediatek.com 2018-01-10 9:01 ` Matthias Brugger 2018-01-11 9:44 ` Linus Walleij 2018-01-10 9:00 ` [PATCH 1/2] pinctrl: mediatek: mt7622: fix potential uninitialized value being returned Matthias Brugger 2018-01-11 9:42 ` Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).