aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/tests/mtd_readtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/tests/mtd_readtest.c')
-rw-r--r--drivers/mtd/tests/mtd_readtest.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mtd/tests/mtd_readtest.c b/drivers/mtd/tests/mtd_readtest.c
index 79fc4530987b..7107fccbc7de 100644
--- a/drivers/mtd/tests/mtd_readtest.c
+++ b/drivers/mtd/tests/mtd_readtest.c
@@ -24,6 +24,7 @@
24#include <linux/moduleparam.h> 24#include <linux/moduleparam.h>
25#include <linux/err.h> 25#include <linux/err.h>
26#include <linux/mtd/mtd.h> 26#include <linux/mtd/mtd.h>
27#include <linux/slab.h>
27#include <linux/sched.h> 28#include <linux/sched.h>
28 29
29#define PRINT_PREF KERN_INFO "mtd_readtest: " 30#define PRINT_PREF KERN_INFO "mtd_readtest: "
@@ -147,6 +148,10 @@ static int scan_for_bad_eraseblocks(void)
147 } 148 }
148 memset(bbt, 0 , ebcnt); 149 memset(bbt, 0 , ebcnt);
149 150
151 /* NOR flash does not implement block_isbad */
152 if (mtd->block_isbad == NULL)
153 return 0;
154
150 printk(PRINT_PREF "scanning for bad eraseblocks\n"); 155 printk(PRINT_PREF "scanning for bad eraseblocks\n");
151 for (i = 0; i < ebcnt; ++i) { 156 for (i = 0; i < ebcnt; ++i) {
152 bbt[i] = is_block_bad(i) ? 1 : 0; 157 bbt[i] = is_block_bad(i) ? 1 : 0;
@@ -184,7 +189,7 @@ static int __init mtd_readtest_init(void)
184 tmp = mtd->size; 189 tmp = mtd->size;
185 do_div(tmp, mtd->erasesize); 190 do_div(tmp, mtd->erasesize);
186 ebcnt = tmp; 191 ebcnt = tmp;
187 pgcnt = mtd->erasesize / mtd->writesize; 192 pgcnt = mtd->erasesize / pgsize;
188 193
189 printk(PRINT_PREF "MTD device size %llu, eraseblock size %u, " 194 printk(PRINT_PREF "MTD device size %llu, eraseblock size %u, "
190 "page size %u, count of eraseblocks %u, pages per " 195 "page size %u, count of eraseblocks %u, pages per "