diff --git a/common/cmd_sf.c b/common/cmd_sf.c index 11a491df76..27d6e39a18 100644 --- a/common/cmd_sf.c +++ b/common/cmd_sf.c @@ -53,7 +53,7 @@ static int sf_parse_len_arg(char *arg, ulong *len) return -1; if (round_up_len && flash->sector_size > 0) - *len = ROUND(len_arg - 1, flash->sector_size); + *len = ROUND(len_arg, flash->sector_size); else *len = len_arg; diff --git a/include/common.h b/include/common.h index bd10f31f84..af8b154fd5 100644 --- a/include/common.h +++ b/include/common.h @@ -760,7 +760,7 @@ int cpu_release(int nr, int argc, char * const argv[]); #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -#define ROUND(a,b) (((a) + (b)) & ~((b) - 1)) +#define ROUND(a,b) (((a) + (b) - 1) & ~((b) - 1)) #define DIV_ROUND(n,d) (((n) + ((d)/2)) / (d)) #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))