[PATCH v1 1/1] regmap: mdio: Don't modify output if error happened

From: Andy Shevchenko
Date: Thu May 20 2021 - 08:05:42 EST


regmap_mdio_read() breaks the principle of "no touch output till it's known
that the operation succeeds". Refactor it accordingly.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/base/regmap/regmap-mdio.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/base/regmap/regmap-mdio.c b/drivers/base/regmap/regmap-mdio.c
index 5f18fe409f56..5ec208279913 100644
--- a/drivers/base/regmap/regmap-mdio.c
+++ b/drivers/base/regmap/regmap-mdio.c
@@ -11,9 +11,11 @@ static int regmap_mdio_read(void *context, unsigned int reg, unsigned int *val)
int ret;

ret = mdiobus_read(mdio_dev->bus, mdio_dev->addr, reg);
- *val = ret & 0xffff;
+ if (ret < 0)
+ return ret;

- return ret < 0 ? ret : 0;
+ *val = ret & 0xffff;
+ return 0;
}

static int regmap_mdio_write(void *context, unsigned int reg, unsigned int val)
--
2.30.2