mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
mtd: tests: incorporate error message for mtdtest_write()
All callers of mtdtest_write() print the same error message on failure. This incorporates the error message to mtdtest_write() and removes them from the callers. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
abc173ad84
commit
8a9f4aa3ac
5 changed files with 12 additions and 50 deletions
|
@ -107,6 +107,8 @@ int mtdtest_write(struct mtd_info *mtd, loff_t addr, size_t size,
|
||||||
err = mtd_write(mtd, addr, size, &written, buf);
|
err = mtd_write(mtd, addr, size, &written, buf);
|
||||||
if (!err && written != size)
|
if (!err && written != size)
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
|
if (err)
|
||||||
|
pr_err("error: write failed at %#llx\n", addr);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,16 +102,10 @@ static uint8_t hash(unsigned offset)
|
||||||
/* Writes wbuffer to page */
|
/* Writes wbuffer to page */
|
||||||
static int write_page(int log)
|
static int write_page(int log)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
|
|
||||||
if (log)
|
if (log)
|
||||||
pr_info("write_page\n");
|
pr_info("write_page\n");
|
||||||
|
|
||||||
err = mtdtest_write(mtd, offset, mtd->writesize, wbuffer);
|
return mtdtest_write(mtd, offset, mtd->writesize, wbuffer);
|
||||||
if (err)
|
|
||||||
pr_err("error: write failed at %#llx\n", (long long)offset);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Re-writes the data area while leaving the OOB alone. */
|
/* Re-writes the data area while leaving the OOB alone. */
|
||||||
|
|
|
@ -52,17 +52,11 @@ static struct rnd_state rnd_state;
|
||||||
|
|
||||||
static int write_eraseblock(int ebnum)
|
static int write_eraseblock(int ebnum)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
loff_t addr = ebnum * mtd->erasesize;
|
loff_t addr = ebnum * mtd->erasesize;
|
||||||
|
|
||||||
prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize);
|
prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize);
|
||||||
cond_resched();
|
cond_resched();
|
||||||
err = mtdtest_write(mtd, addr, mtd->erasesize, writebuf);
|
return mtdtest_write(mtd, addr, mtd->erasesize, writebuf);
|
||||||
if (err)
|
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int verify_eraseblock(int ebnum)
|
static int verify_eraseblock(int ebnum)
|
||||||
|
@ -232,11 +226,8 @@ static int erasecrosstest(void)
|
||||||
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
||||||
strcpy(writebuf, "There is no data like this!");
|
strcpy(writebuf, "There is no data like this!");
|
||||||
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_info("error: write failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("reading 1st page of block %d\n", ebnum);
|
pr_info("reading 1st page of block %d\n", ebnum);
|
||||||
memset(readbuf, 0, pgsize);
|
memset(readbuf, 0, pgsize);
|
||||||
|
@ -260,11 +251,8 @@ static int erasecrosstest(void)
|
||||||
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
||||||
strcpy(writebuf, "There is no data like this!");
|
strcpy(writebuf, "There is no data like this!");
|
||||||
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("erasing block %d\n", ebnum2);
|
pr_info("erasing block %d\n", ebnum2);
|
||||||
err = mtdtest_erase_eraseblock(mtd, ebnum2);
|
err = mtdtest_erase_eraseblock(mtd, ebnum2);
|
||||||
|
@ -311,11 +299,8 @@ static int erasetest(void)
|
||||||
pr_info("writing 1st page of block %d\n", ebnum);
|
pr_info("writing 1st page of block %d\n", ebnum);
|
||||||
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
prandom_bytes_state(&rnd_state, writebuf, pgsize);
|
||||||
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
err = mtdtest_write(mtd, addr0, pgsize, writebuf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("erasing block %d\n", ebnum);
|
pr_info("erasing block %d\n", ebnum);
|
||||||
err = mtdtest_erase_eraseblock(mtd, ebnum);
|
err = mtdtest_erase_eraseblock(mtd, ebnum);
|
||||||
|
|
|
@ -80,14 +80,9 @@ static int multiblock_erase(int ebnum, int blocks)
|
||||||
|
|
||||||
static int write_eraseblock(int ebnum)
|
static int write_eraseblock(int ebnum)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
loff_t addr = ebnum * mtd->erasesize;
|
loff_t addr = ebnum * mtd->erasesize;
|
||||||
|
|
||||||
err = mtdtest_write(mtd, addr, mtd->erasesize, iobuf);
|
return mtdtest_write(mtd, addr, mtd->erasesize, iobuf);
|
||||||
if (err)
|
|
||||||
pr_err("error: write failed at %#llx\n", addr);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int write_eraseblock_by_page(int ebnum)
|
static int write_eraseblock_by_page(int ebnum)
|
||||||
|
@ -98,11 +93,8 @@ static int write_eraseblock_by_page(int ebnum)
|
||||||
|
|
||||||
for (i = 0; i < pgcnt; i++) {
|
for (i = 0; i < pgcnt; i++) {
|
||||||
err = mtdtest_write(mtd, addr, pgsize, buf);
|
err = mtdtest_write(mtd, addr, pgsize, buf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
addr);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
addr += pgsize;
|
addr += pgsize;
|
||||||
buf += pgsize;
|
buf += pgsize;
|
||||||
}
|
}
|
||||||
|
@ -119,21 +111,13 @@ static int write_eraseblock_by_2pages(int ebnum)
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
err = mtdtest_write(mtd, addr, sz, buf);
|
err = mtdtest_write(mtd, addr, sz, buf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
addr);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
addr += sz;
|
addr += sz;
|
||||||
buf += sz;
|
buf += sz;
|
||||||
}
|
}
|
||||||
if (pgcnt % 2) {
|
if (pgcnt % 2)
|
||||||
err = mtdtest_write(mtd, addr, pgsize, buf);
|
err = mtdtest_write(mtd, addr, pgsize, buf);
|
||||||
if (err) {
|
|
||||||
pr_err("error: write failed at %#llx\n",
|
|
||||||
addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,11 +126,8 @@ static int do_write(void)
|
||||||
}
|
}
|
||||||
addr = eb * mtd->erasesize + offs;
|
addr = eb * mtd->erasesize + offs;
|
||||||
err = mtdtest_write(mtd, addr, len, writebuf);
|
err = mtdtest_write(mtd, addr, len, writebuf);
|
||||||
if (unlikely(err)) {
|
if (unlikely(err))
|
||||||
pr_err("error: write failed at 0x%llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
offs += len;
|
offs += len;
|
||||||
while (offs > mtd->erasesize) {
|
while (offs > mtd->erasesize) {
|
||||||
offsets[eb++] = mtd->erasesize;
|
offsets[eb++] = mtd->erasesize;
|
||||||
|
|
Loading…
Add table
Reference in a new issue