| From 37a672be3ae357a0f87fbc00897fa7fcb3d7d782 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@linaro.org> |
| Date: Wed, 27 Sep 2023 15:38:36 +0300 |
| Subject: i2c: rcar: fix error code in probe() |
| |
| From: Dan Carpenter <dan.carpenter@linaro.org> |
| |
| commit 37a672be3ae357a0f87fbc00897fa7fcb3d7d782 upstream. |
| |
| Return an error code if devm_reset_control_get_exclusive() fails. |
| The current code returns success. |
| |
| Fixes: 0e864b552b23 ("i2c: rcar: reset controller is mandatory for Gen3+") |
| Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> |
| Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Signed-off-by: Wolfram Sang <wsa@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/i2c/busses/i2c-rcar.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/i2c/busses/i2c-rcar.c |
| +++ b/drivers/i2c/busses/i2c-rcar.c |
| @@ -1121,8 +1121,10 @@ static int rcar_i2c_probe(struct platfor |
| /* R-Car Gen3+ needs a reset before every transfer */ |
| if (priv->devtype >= I2C_RCAR_GEN3) { |
| priv->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); |
| - if (IS_ERR(priv->rstc)) |
| + if (IS_ERR(priv->rstc)) { |
| + ret = PTR_ERR(priv->rstc); |
| goto out_pm_put; |
| + } |
| |
| ret = reset_control_status(priv->rstc); |
| if (ret < 0) |