diff options
Diffstat (limited to 'arch/ia64/kernel/efi.c')
| -rw-r--r-- | arch/ia64/kernel/efi.c | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index c485a3b32ba..9990320b6f9 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c @@ -410,24 +410,16 @@ efi_init (void)  	efi_config_table_t *config_tables;  	efi_char16_t *c16;  	u64 efi_desc_size; -	char *cp, *end, vendor[100] = "unknown"; +	char *cp, vendor[100] = "unknown";  	extern char saved_command_line[];  	int i;  	/* it's too early to be able to use the standard kernel command line support... */  	for (cp = saved_command_line; *cp; ) {  		if (memcmp(cp, "mem=", 4) == 0) { -			cp += 4; -			mem_limit = memparse(cp, &end); -			if (end != cp) -				break; -			cp = end; +			mem_limit = memparse(cp + 4, &cp);  		} else if (memcmp(cp, "max_addr=", 9) == 0) { -			cp += 9; -			max_addr = GRANULEROUNDDOWN(memparse(cp, &end)); -			if (end != cp) -				break; -			cp = end; +			max_addr = GRANULEROUNDDOWN(memparse(cp + 9, &cp));  		} else {  			while (*cp != ' ' && *cp)  				++cp; @@ -458,7 +450,7 @@ efi_init (void)  	/* Show what we know for posterity */  	c16 = __va(efi.systab->fw_vendor);  	if (c16) { -		for (i = 0;i < (int) sizeof(vendor) && *c16; ++i) +		for (i = 0;i < (int) sizeof(vendor) - 1 && *c16; ++i)  			vendor[i] = *c16++;  		vendor[i] = '\0';  	}  |