Linux-mediatek Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [patch] pinctrl: mediatek: signedness bug in mtk_pmx_gpio_request_enable()
@ 2016-02-16 20:06 Dan Carpenter
  2016-02-17  1:44 ` Axel Lin
  2016-02-18 23:27 ` Linus Walleij
  0 siblings, 2 replies; 3+ messages in thread
From: Dan Carpenter @ 2016-02-16 20:06 UTC (permalink / raw)
  To: Linus Walleij, Biao Huang
  Cc: Maoguang Meng, Axel Lin, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
	Hongzhou Yang, kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
	Javier Martinez Canillas, Jonas Gorski,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Matthias Brugger,
	Yingjoe Chen

"muxval" stores a value from 0-255 or a negative error code.  It has to
be signed for the error handling to work.

Fixes: 59ee9c96dd5d ('pinctrl: mediatek: Add gpio_request_enable support')
Signed-off-by: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index cbc2204..1fbaf28 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -755,14 +755,14 @@ static int mtk_pmx_gpio_request_enable(struct pinctrl_dev *pctldev,
 				    struct pinctrl_gpio_range *range,
 				    unsigned offset)
 {
-	unsigned long muxval;
+	int muxval;
 	struct mtk_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
 
 	muxval = mtk_pmx_find_gpio_mode(pctl, offset);
 
 	if (muxval < 0) {
 		dev_err(pctl->dev, "invalid gpio pin %d.\n", offset);
-		return -EINVAL;
+		return muxval;
 	}
 
 	mtk_pmx_set_mode(pctldev, offset, muxval);

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-18 23:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-16 20:06 [patch] pinctrl: mediatek: signedness bug in mtk_pmx_gpio_request_enable() Dan Carpenter
2016-02-17  1:44 ` Axel Lin
2016-02-18 23:27 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox