mtd: tests: stresstest: bail out if device has not enough eraseblocks
[pandora-kernel.git] / drivers / mtd / tests / mtd_stresstest.c
index 52ffd91..811642f 100644 (file)
@@ -284,6 +284,12 @@ static int __init mtd_stresstest_init(void)
               (unsigned long long)mtd->size, mtd->erasesize,
               pgsize, ebcnt, pgcnt, mtd->oobsize);
 
+       if (ebcnt < 2) {
+               printk(PRINT_PREF "error: need at least 2 eraseblocks\n");
+               err = -ENOSPC;
+               goto out_put_mtd;
+       }
+
        /* Read or write up 2 eraseblocks at a time */
        bufsize = mtd->erasesize * 2;
 
@@ -322,6 +328,7 @@ out:
        kfree(bbt);
        vfree(writebuf);
        vfree(readbuf);
+out_put_mtd:
        put_mtd_device(mtd);
        if (err)
                printk(PRINT_PREF "error %d occurred\n", err);