configs: x530: move MTDPART/MTDIDS_DEFAULT in defconfig
[platform/kernel/u-boot.git] / cmd / clone.c
index 97747f8..a906207 100644 (file)
@@ -34,11 +34,11 @@ static int do_clone(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv
                printf("Unable to open destination device\n");
                return 1;
        }
-       requested = simple_strtoul(argv[5], &unit, 10);
+       requested = dectoul(argv[5], &unit);
        srcbz = srcdesc->blksz;
        destbz = destdesc->blksz;
 
-       if ((srcbz * (buffersize / srcbz) != buffersize) &&
+       if ((srcbz * (buffersize / srcbz) != buffersize) ||
            (destbz * (buffersize / destbz) != buffersize)) {
                printf("failed: cannot match device block sizes\n");
                return 1;
@@ -55,10 +55,12 @@ static int do_clone(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv
                switch (unit[0]) {
                case 'g':
                case 'G':
-                       requested *= 1024;
+                       requested *= 1024 * 1024 * 1024;
+                       break;
                case 'm':
                case 'M':
-                       requested *= 1024;
+                       requested *= 1024 * 1024;
+                       break;
                case 'k':
                case 'K':
                        requested *= 1024;