forked from Minki/linux
[IA64] Fix wrong use of memparse in efi.c
The check of (end != cp) after memparse in efi.c looks wrong to me. The result is that we can't use mem= and max_addr= kernel parameter at the same time. The following patch removed the check just like other arches do. Signed-off-by: Zou Nan hai <nanhai.zou@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
ecdd5dabd3
commit
9d78f43d1f
@ -410,24 +410,16 @@ efi_init (void)
|
|||||||
efi_config_table_t *config_tables;
|
efi_config_table_t *config_tables;
|
||||||
efi_char16_t *c16;
|
efi_char16_t *c16;
|
||||||
u64 efi_desc_size;
|
u64 efi_desc_size;
|
||||||
char *cp, *end, vendor[100] = "unknown";
|
char *cp, vendor[100] = "unknown";
|
||||||
extern char saved_command_line[];
|
extern char saved_command_line[];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* it's too early to be able to use the standard kernel command line support... */
|
/* it's too early to be able to use the standard kernel command line support... */
|
||||||
for (cp = saved_command_line; *cp; ) {
|
for (cp = saved_command_line; *cp; ) {
|
||||||
if (memcmp(cp, "mem=", 4) == 0) {
|
if (memcmp(cp, "mem=", 4) == 0) {
|
||||||
cp += 4;
|
mem_limit = memparse(cp + 4, &cp);
|
||||||
mem_limit = memparse(cp, &end);
|
|
||||||
if (end != cp)
|
|
||||||
break;
|
|
||||||
cp = end;
|
|
||||||
} else if (memcmp(cp, "max_addr=", 9) == 0) {
|
} else if (memcmp(cp, "max_addr=", 9) == 0) {
|
||||||
cp += 9;
|
max_addr = GRANULEROUNDDOWN(memparse(cp + 9, &cp));
|
||||||
max_addr = GRANULEROUNDDOWN(memparse(cp, &end));
|
|
||||||
if (end != cp)
|
|
||||||
break;
|
|
||||||
cp = end;
|
|
||||||
} else {
|
} else {
|
||||||
while (*cp != ' ' && *cp)
|
while (*cp != ' ' && *cp)
|
||||||
++cp;
|
++cp;
|
||||||
|
Loading…
Reference in New Issue
Block a user