[MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 1 Jun 2007 18:21:59 +0000 (19:21 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Fri, 1 Jun 2007 18:21:59 +0000 (19:21 +0100)
It returns ERR_PTR(foo) on error, not just NULL.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/mtdsuper.c

index a279540ba87a0f7ef5111360c47a40bdaa88243e..aca331971201ad250bd5d81bfcf908e979a57bdf 100644 (file)
@@ -106,9 +106,9 @@ static int get_sb_mtd_nr(struct file_system_type *fs_type, int flags,
        struct mtd_info *mtd;
 
        mtd = get_mtd_device(NULL, mtdnr);
-       if (!mtd) {
+       if (IS_ERR(mtd)) {
                DEBUG(0, "MTDSB: Device #%u doesn't appear to exist\n", mtdnr);
-               return -EINVAL;
+               return PTR_ERR(mtd);
        }
 
        return get_sb_mtd_aux(fs_type, flags, dev_name, data, mtd, fill_super,
@@ -145,7 +145,7 @@ int get_sb_mtd(struct file_system_type *fs_type, int flags,
 
                        for (mtdnr = 0; mtdnr < MAX_MTD_DEVICES; mtdnr++) {
                                mtd = get_mtd_device(NULL, mtdnr);
-                               if (mtd) {
+                               if (!IS_ERR(mtd)) {
                                        if (!strcmp(mtd->name, dev_name + 4))
                                                return get_sb_mtd_aux(
                                                        fs_type, flags,