pinctrl: ralink: rt2880: preserve error codes
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Sun, 13 Dec 2020 16:17:19 +0000 (17:17 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 4 Jan 2021 14:38:34 +0000 (15:38 +0100)
Some paths in probe function are returning '-EINVAL'
instead of preserve original code from called functions.
Change them to preserve all of them.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201213161721.6514-7-sergio.paracuellos@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/ralink/pinctrl-rt2880.c

index 4725aa3..2737442 100644 (file)
@@ -315,6 +315,7 @@ static int rt2880_pinmux_probe(struct platform_device *pdev)
 {
        struct rt2880_priv *p;
        struct pinctrl_dev *dev;
+       int err;
 
        if (!rt2880_pinmux_data)
                return -ENOTSUPP;
@@ -330,13 +331,16 @@ static int rt2880_pinmux_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, p);
 
        /* init the device */
-       if (rt2880_pinmux_index(p)) {
+       err = rt2880_pinmux_index(p);
+       if (err) {
                dev_err(&pdev->dev, "failed to load index\n");
-               return -EINVAL;
+               return err;
        }
-       if (rt2880_pinmux_pins(p)) {
+
+       err = rt2880_pinmux_pins(p);
+       if (err) {
                dev_err(&pdev->dev, "failed to load pins\n");
-               return -EINVAL;
+               return err;
        }
        dev = pinctrl_register(p->desc, &pdev->dev, p);
        if (IS_ERR(dev))