On 2019/9/27 上午8:58, Kever Yang wrote:

On 2019/9/26 上午2:40, Heiko Stuebner wrote:
Originally the cpuid var the value gets read into was defined as
     u8 cpuid[RK3399_CPUID_LEN];
hence the sizeof(cpuid) would return the correct the correct number
of array elements.

With the move to a separate function cpuid becomes a pointer and
sizeof(cpuid) hence returns the pointer size - 8 in the arm64 case.

We do have the actual id length available as function param so use
it for actual amount of bytes to read.

Fixes: 04825384999f ("rockchip: rk3399: derive ethaddr from cpuid")
Signed-off-by: Heiko Stuebner <he...@sntech.de>

Reviewed-by: Kever Yang<kever.y...@rock-chips.com>

Applied to u-boot-rockchip/master.



Thanks,
- Kever
---
  arch/arm/mach-rockchip/misc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/misc.c b/arch/arm/mach-rockchip/misc.c
index 4423b296b1..bed4317f7e 100644
--- a/arch/arm/mach-rockchip/misc.c
+++ b/arch/arm/mach-rockchip/misc.c
@@ -75,7 +75,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, sizeof(cpuid));
+    ret = misc_read(dev, cpuid_offset, cpuid, cpuid_length);
      if (ret) {
          debug("%s: reading cpuid from the efuses failed\n",
                __func__);


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to