diff options
| -rw-r--r-- | target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c b/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c index eabb47e02..d979365d6 100644 --- a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c +++ b/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c @@ -22,6 +22,7 @@   */  #include <linux/kernel.h> +#include <linux/module.h>  #include <linux/slab.h>  #include <linux/vmalloc.h> @@ -91,11 +92,15 @@ static int wrt160nl_parse_partitions(struct mtd_info *master,  	struct uimage_header *uheader;  	size_t retlen;  	unsigned int kernel_len; -	unsigned int uboot_len = max(master->erasesize, WRT160NL_UBOOT_LEN); -	unsigned int nvram_len = max(master->erasesize, WRT160NL_NVRAM_LEN); -	unsigned int art_len = max(master->erasesize, WRT160NL_ART_LEN); +	unsigned int uboot_len; +	unsigned int nvram_len; +	unsigned int art_len;  	int ret; +	uboot_len = max_t(unsigned int, master->erasesize, WRT160NL_UBOOT_LEN); +	nvram_len = max_t(unsigned int, master->erasesize, WRT160NL_NVRAM_LEN); +	art_len = max_t(unsigned int, master->erasesize, WRT160NL_ART_LEN); +  	header = vmalloc(sizeof(*header));  	if (!header) {  		return -ENOMEM; | 
