git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mtd: tests: stresstest: bail out if device has not enough eraseblocks
[pandora-kernel.git]
/
drivers
/
mtd
/
tests
/
mtd_stresstest.c
diff --git
a/drivers/mtd/tests/mtd_stresstest.c
b/drivers/mtd/tests/mtd_stresstest.c
index
52ffd91
..
811642f
100644
(file)
--- a/
drivers/mtd/tests/mtd_stresstest.c
+++ b/
drivers/mtd/tests/mtd_stresstest.c
@@
-284,6
+284,12
@@
static int __init mtd_stresstest_init(void)
(unsigned long long)mtd->size, mtd->erasesize,
pgsize, ebcnt, pgcnt, mtd->oobsize);
(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;
/* Read or write up 2 eraseblocks at a time */
bufsize = mtd->erasesize * 2;
@@
-322,6
+328,7
@@
out:
kfree(bbt);
vfree(writebuf);
vfree(readbuf);
kfree(bbt);
vfree(writebuf);
vfree(readbuf);
+out_put_mtd:
put_mtd_device(mtd);
if (err)
printk(PRINT_PREF "error %d occurred\n", err);
put_mtd_device(mtd);
if (err)
printk(PRINT_PREF "error %d occurred\n", err);