diff options
-rw-r--r-- | nand-utils/nandwrite.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/nand-utils/nandwrite.c b/nand-utils/nandwrite.c index 9602a6e..998c68c 100644 --- a/nand-utils/nandwrite.c +++ b/nand-utils/nandwrite.c @@ -191,9 +191,13 @@ static void process_options(int argc, char * const argv[]) errmsg_die("Can't specify negative device offset with option" " -s: %lld", mtdoffset); - if (blockalign < 0) - errmsg_die("Can't specify negative blockalign with option -b:" - " %d", blockalign); + if (blockalign <= 0) + errmsg_die("Can't specify negative or zero blockalign with " + "option -b: %d", blockalign); + + if (!is_power_of_2(blockalign)) + errmsg_die("Can't specify a non-power-of-two blockalign with " + "option -b: %d", blockalign); if (autoplace && noecc) errmsg_die("Autoplacement and no-ECC are mutually exclusive"); |