Merge tag 'char-misc-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[linux-2.6-block.git] / drivers / mtd / mtdcore.c
index 5f1053d995b083f43e203efd691c5011a286c27d..21e3cdc04036dd0b2622d0a3c9aec1a5dbd545af 100644 (file)
@@ -721,6 +721,8 @@ static void mtd_set_dev_defaults(struct mtd_info *mtd)
        } else {
                pr_debug("mtd device won't show a device symlink in sysfs\n");
        }
+
+       mtd->orig_flags = mtd->flags;
 }
 
 /**
@@ -1192,13 +1194,13 @@ static int mtd_check_oob_ops(struct mtd_info *mtd, loff_t offs,
                return -EINVAL;
 
        if (ops->ooblen) {
-               u64 maxooblen;
+               size_t maxooblen;
 
                if (ops->ooboffs >= mtd_oobavail(mtd, ops))
                        return -EINVAL;
 
-               maxooblen = ((mtd_div_by_ws(mtd->size, mtd) -
-                             mtd_div_by_ws(offs, mtd)) *
+               maxooblen = ((size_t)(mtd_div_by_ws(mtd->size, mtd) -
+                                     mtd_div_by_ws(offs, mtd)) *
                             mtd_oobavail(mtd, ops)) - ops->ooboffs;
                if (ops->ooblen > maxooblen)
                        return -EINVAL;