rockchip: misc: fix misc_read() return check
authorJohn Keeping <john@metanate.com>
Mon, 27 Mar 2023 11:01:08 +0000 (12:01 +0100)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 21 Apr 2023 07:16:01 +0000 (15:16 +0800)
misc_read() is documented to return the number of bytes read or a
negative error value.  The Rockchip drivers currently do not implement
this correctly and instead return zero on success or a negative error
value.

In preparation for fixing the drivers, fix the condition here to only
error on negative values.

Suggested-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/mach-rockchip/misc.c

index 849014d..7d03f0c 100644 (file)
@@ -83,7 +83,7 @@ int rockchip_cpuid_from_efuse(const u32 cpuid_offset,
 
        /* read the cpu_id range from the efuses */
        ret = misc_read(dev, cpuid_offset, cpuid, cpuid_length);
-       if (ret) {
+       if (ret < 0) {
                debug("%s: reading cpuid from the efuses failed\n",
                      __func__);
                return -1;