cmd: eeprom: don't truncate target address at 32-bit
On 64-bit platforms where int is 32-bit wide, the eeprom command parse_numeric_param() routine truncates the memory address parameter to the lower 32-bit. Make parse_numeric_param() return long to allow read/write of addresses beyond the lower 4GB. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
This commit is contained in:
parent
0b999d2082
commit
aa59c1bec7
@ -200,10 +200,10 @@ int eeprom_write(unsigned dev_addr, unsigned offset,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_numeric_param(char *str)
|
static long parse_numeric_param(char *str)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
int value = simple_strtol(str, &endptr, 16);
|
long value = simple_strtol(str, &endptr, 16);
|
||||||
|
|
||||||
return (*endptr != '\0') ? -1 : value;
|
return (*endptr != '\0') ? -1 : value;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user