]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
rtc: pcf2127: fix pcf2127_nvmem_read/write() returns
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 22 Oct 2020 07:04:51 +0000 (10:04 +0300)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 20 Jan 2021 13:25:34 +0000 (14:25 +0100)
BugLink: https://bugs.launchpad.net/bugs/1910822
[ Upstream commit ba1c30bf3f2536f248d262c6f257b5a787305991 ]

These functions should return zero on success.  Non-zero returns are
treated as error.  On some paths, this doesn't matter but in
nvmem_cell_read() a non-zero return would be passed to ERR_PTR() and
lead to an Oops.

Fixes: d6c3029f32f7 ("rtc: pcf2127: add support for accessing internal static RAM")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201022070451.GA2817669@mwanda
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/rtc/rtc-pcf2127.c

index 02b069caffd57c88ab0b022481d0b8c1704de19c..d1d37a204264ce66fc3edffa1456ae69d9bcb303 100644 (file)
@@ -230,10 +230,8 @@ static int pcf2127_nvmem_read(void *priv, unsigned int offset,
        if (ret)
                return ret;
 
-       ret = regmap_bulk_read(pcf2127->regmap, PCF2127_REG_RAM_RD_CMD,
-                              val, bytes);
-
-       return ret ?: bytes;
+       return regmap_bulk_read(pcf2127->regmap, PCF2127_REG_RAM_RD_CMD,
+                               val, bytes);
 }
 
 static int pcf2127_nvmem_write(void *priv, unsigned int offset,
@@ -248,10 +246,8 @@ static int pcf2127_nvmem_write(void *priv, unsigned int offset,
        if (ret)
                return ret;
 
-       ret = regmap_bulk_write(pcf2127->regmap, PCF2127_REG_RAM_WRT_CMD,
-                               val, bytes);
-
-       return ret ?: bytes;
+       return regmap_bulk_write(pcf2127->regmap, PCF2127_REG_RAM_WRT_CMD,
+                                val, bytes);
 }
 
 /* watchdog driver */