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.carpen...@oracle.com>
Signed-off-by: Sergio Paracuellos <sergio.paracuel...@gmail.com>
---
 drivers/pinctrl/ralink/pinctrl-rt2880.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/ralink/pinctrl-rt2880.c 
b/drivers/pinctrl/ralink/pinctrl-rt2880.c
index 4725aa34328a..5af1c8a20322 100644
--- a/drivers/pinctrl/ralink/pinctrl-rt2880.c
+++ b/drivers/pinctrl/ralink/pinctrl-rt2880.c
@@ -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))
-- 
2.25.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to