[U-Boot] [PATCH] rockchip: misc: read the correct number of bytes from the efuse

Kever Yang kever.yang at rock-chips.com
Fri Sep 27 00:58:19 UTC 2019


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 <heiko at sntech.de>

Reviewed-by: Kever Yang<kever.yang at rock-chips.com>

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__);




More information about the U-Boot mailing list