mtd: cfi: remove unneeded NULL checks
[pandora-kernel.git] / drivers / mtd / chips / cfi_cmdset_0002.c
index 94bb61e..1ebdcdd 100644 (file)
@@ -490,18 +490,12 @@ static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd)
        }
 #endif
 
-       /* FIXME: erase-suspend-program is broken.  See
-          http://lists.infradead.org/pipermail/linux-mtd/2003-December/009001.html */
-       printk(KERN_NOTICE "cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.\n");
-
        __module_get(THIS_MODULE);
        return mtd;
 
  setup_err:
-       if(mtd) {
-               kfree(mtd->eraseregions);
-               kfree(mtd);
-       }
+       kfree(mtd->eraseregions);
+       kfree(mtd);
        kfree(cfi->cmdset_priv);
        kfree(cfi->cfiq);
        return NULL;
@@ -573,7 +567,6 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
 
                        if (time_after(jiffies, timeo)) {
                                printk(KERN_ERR "Waiting for chip to be ready timed out.\n");
-                               spin_unlock(chip->mutex);
                                return -EIO;
                        }
                        spin_unlock(chip->mutex);
@@ -589,15 +582,9 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
                return 0;
 
        case FL_ERASING:
-               if (mode == FL_WRITING) /* FIXME: Erase-suspend-program appears broken. */
-                       goto sleep;
-
-               if (!(   mode == FL_READY
-                     || mode == FL_POINT
-                     || !cfip
-                     || (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))
-                     || (mode == FL_WRITING && (cfip->EraseSuspend & 0x1)
-                   )))
+               if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
+                   !(mode == FL_READY || mode == FL_POINT ||
+                   (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))))
                        goto sleep;
 
                /* We could check to see if we're trying to access the sector