Skip to content
Snippets Groups Projects
Commit fd3a7ae8 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Kever Yang
Browse files

rockchip: misc: protect serial# from getting overwritten


serial# is one of the vendor properties and thus protected from being
overwritten if already set. If env_set is called anyway this result in
some nasty warnings, so check for presence before trying that.

In the same direction check for the presence of cpuid# and compare it
to the actual hardware and emit a warning if they don't match.

Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: default avatarKever Yang <kever.yang@rock-chips.com>
parent d490fadc
No related branches found
No related tags found
No related merge requests found
...@@ -92,6 +92,7 @@ int rockchip_cpuid_set(const u8 *cpuid, const u32 cpuid_length) ...@@ -92,6 +92,7 @@ int rockchip_cpuid_set(const u8 *cpuid, const u32 cpuid_length)
char cpuid_str[cpuid_length * 2 + 1]; char cpuid_str[cpuid_length * 2 + 1];
u64 serialno; u64 serialno;
char serialno_str[17]; char serialno_str[17];
const char *oldid;
int i; int i;
memset(cpuid_str, 0, sizeof(cpuid_str)); memset(cpuid_str, 0, sizeof(cpuid_str));
...@@ -113,8 +114,16 @@ int rockchip_cpuid_set(const u8 *cpuid, const u32 cpuid_length) ...@@ -113,8 +114,16 @@ int rockchip_cpuid_set(const u8 *cpuid, const u32 cpuid_length)
serialno |= (u64)crc32_no_comp(serialno, high, 8) << 32; serialno |= (u64)crc32_no_comp(serialno, high, 8) << 32;
snprintf(serialno_str, sizeof(serialno_str), "%016llx", serialno); snprintf(serialno_str, sizeof(serialno_str), "%016llx", serialno);
oldid = env_get("cpuid#");
if (oldid && strcmp(oldid, cpuid_str) != 0)
printf("cpuid: value %s present in env does not match hardware %s\n",
oldid, cpuid_str);
env_set("cpuid#", cpuid_str); env_set("cpuid#", cpuid_str);
env_set("serial#", serialno_str);
/* Only generate serial# when none is set yet */
if (!env_get("serial#"))
env_set("serial#", serialno_str);
return 0; return 0;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment