mtd: tests: incorporate error message for mtdtest_read()
All callers of mtdtest_read() print the same error message on failure. This incorporates the error message to mtdtest_read() 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:
Родитель
0d58f6ee01
Коммит
abc173ad84
|
@ -92,6 +92,8 @@ int mtdtest_read(struct mtd_info *mtd, loff_t addr, size_t size, void *buf)
|
||||||
err = 0;
|
err = 0;
|
||||||
if (!err && read != size)
|
if (!err && read != size)
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
|
if (err)
|
||||||
|
pr_err("error: read failed at %#llx\n", addr);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,24 +84,15 @@ static int verify_eraseblock(int ebnum)
|
||||||
for (j = 0; j < pgcnt - 1; ++j, addr += pgsize) {
|
for (j = 0; j < pgcnt - 1; ++j, addr += pgsize) {
|
||||||
/* Do a read to set the internal dataRAMs to different data */
|
/* Do a read to set the internal dataRAMs to different data */
|
||||||
err = mtdtest_read(mtd, addr0, bufsize, twopages);
|
err = mtdtest_read(mtd, addr0, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
|
err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)(addrn - bufsize));
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
memset(twopages, 0, bufsize);
|
memset(twopages, 0, bufsize);
|
||||||
err = mtdtest_read(mtd, addr, bufsize, twopages);
|
err = mtdtest_read(mtd, addr, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
if (memcmp(twopages, writebuf + (j * pgsize), bufsize)) {
|
if (memcmp(twopages, writebuf + (j * pgsize), bufsize)) {
|
||||||
pr_err("error: verify failed at %#llx\n",
|
pr_err("error: verify failed at %#llx\n",
|
||||||
(long long)addr);
|
(long long)addr);
|
||||||
|
@ -114,24 +105,15 @@ static int verify_eraseblock(int ebnum)
|
||||||
|
|
||||||
/* Do a read to set the internal dataRAMs to different data */
|
/* Do a read to set the internal dataRAMs to different data */
|
||||||
err = mtdtest_read(mtd, addr0, bufsize, twopages);
|
err = mtdtest_read(mtd, addr0, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
|
err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)(addrn - bufsize));
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
memset(twopages, 0, bufsize);
|
memset(twopages, 0, bufsize);
|
||||||
err = mtdtest_read(mtd, addr, bufsize, twopages);
|
err = mtdtest_read(mtd, addr, bufsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
memcpy(boundary, writebuf + mtd->erasesize - pgsize, pgsize);
|
memcpy(boundary, writebuf + mtd->erasesize - pgsize, pgsize);
|
||||||
prandom_bytes_state(&rnd_state, boundary + pgsize, pgsize);
|
prandom_bytes_state(&rnd_state, boundary + pgsize, pgsize);
|
||||||
if (memcmp(twopages, boundary, bufsize)) {
|
if (memcmp(twopages, boundary, bufsize)) {
|
||||||
|
@ -171,8 +153,6 @@ static int crosstest(void)
|
||||||
addr = addrn - pgsize - pgsize;
|
addr = addrn - pgsize - pgsize;
|
||||||
err = mtdtest_read(mtd, addr, pgsize, pp1);
|
err = mtdtest_read(mtd, addr, pgsize, pp1);
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
kfree(pp1);
|
kfree(pp1);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -181,8 +161,6 @@ static int crosstest(void)
|
||||||
addr = addrn - pgsize - pgsize - pgsize;
|
addr = addrn - pgsize - pgsize - pgsize;
|
||||||
err = mtdtest_read(mtd, addr, pgsize, pp1);
|
err = mtdtest_read(mtd, addr, pgsize, pp1);
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
kfree(pp1);
|
kfree(pp1);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -192,8 +170,6 @@ static int crosstest(void)
|
||||||
pr_info("reading page at %#llx\n", (long long)addr);
|
pr_info("reading page at %#llx\n", (long long)addr);
|
||||||
err = mtdtest_read(mtd, addr, pgsize, pp2);
|
err = mtdtest_read(mtd, addr, pgsize, pp2);
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
kfree(pp1);
|
kfree(pp1);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -203,8 +179,6 @@ static int crosstest(void)
|
||||||
pr_info("reading page at %#llx\n", (long long)addr);
|
pr_info("reading page at %#llx\n", (long long)addr);
|
||||||
err = mtdtest_read(mtd, addr, pgsize, pp3);
|
err = mtdtest_read(mtd, addr, pgsize, pp3);
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
kfree(pp1);
|
kfree(pp1);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -214,8 +188,6 @@ static int crosstest(void)
|
||||||
pr_info("reading page at %#llx\n", (long long)addr);
|
pr_info("reading page at %#llx\n", (long long)addr);
|
||||||
err = mtdtest_read(mtd, addr, pgsize, pp4);
|
err = mtdtest_read(mtd, addr, pgsize, pp4);
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
kfree(pp1);
|
kfree(pp1);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -269,11 +241,8 @@ static int erasecrosstest(void)
|
||||||
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);
|
||||||
err = mtdtest_read(mtd, addr0, pgsize, readbuf);
|
err = mtdtest_read(mtd, addr0, pgsize, readbuf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("verifying 1st page of block %d\n", ebnum);
|
pr_info("verifying 1st page of block %d\n", ebnum);
|
||||||
if (memcmp(writebuf, readbuf, pgsize)) {
|
if (memcmp(writebuf, readbuf, pgsize)) {
|
||||||
|
@ -305,11 +274,8 @@ static int erasecrosstest(void)
|
||||||
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);
|
||||||
err = mtdtest_read(mtd, addr0, pgsize, readbuf);
|
err = mtdtest_read(mtd, addr0, pgsize, readbuf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("verifying 1st page of block %d\n", ebnum);
|
pr_info("verifying 1st page of block %d\n", ebnum);
|
||||||
if (memcmp(writebuf, readbuf, pgsize)) {
|
if (memcmp(writebuf, readbuf, pgsize)) {
|
||||||
|
@ -358,11 +324,8 @@ static int erasetest(void)
|
||||||
|
|
||||||
pr_info("reading 1st page of block %d\n", ebnum);
|
pr_info("reading 1st page of block %d\n", ebnum);
|
||||||
err = mtdtest_read(mtd, addr0, pgsize, twopages);
|
err = mtdtest_read(mtd, addr0, pgsize, twopages);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr0);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
pr_info("verifying 1st page of block %d is all 0xff\n",
|
pr_info("verifying 1st page of block %d is all 0xff\n",
|
||||||
ebnum);
|
ebnum);
|
||||||
|
|
|
@ -55,8 +55,6 @@ static int read_eraseblock_by_page(int ebnum)
|
||||||
memset(buf, 0 , pgsize);
|
memset(buf, 0 , pgsize);
|
||||||
ret = mtdtest_read(mtd, addr, pgsize, buf);
|
ret = mtdtest_read(mtd, addr, pgsize, buf);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
if (!err)
|
if (!err)
|
||||||
err = ret;
|
err = ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,14 +140,9 @@ static int write_eraseblock_by_2pages(int ebnum)
|
||||||
|
|
||||||
static int read_eraseblock(int ebnum)
|
static int read_eraseblock(int ebnum)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
loff_t addr = ebnum * mtd->erasesize;
|
loff_t addr = ebnum * mtd->erasesize;
|
||||||
|
|
||||||
err = mtdtest_read(mtd, addr, mtd->erasesize, iobuf);
|
return mtdtest_read(mtd, addr, mtd->erasesize, iobuf);
|
||||||
if (err)
|
|
||||||
pr_err("error: read failed at %#llx\n", addr);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_eraseblock_by_page(int ebnum)
|
static int read_eraseblock_by_page(int ebnum)
|
||||||
|
@ -158,11 +153,8 @@ static int read_eraseblock_by_page(int ebnum)
|
||||||
|
|
||||||
for (i = 0; i < pgcnt; i++) {
|
for (i = 0; i < pgcnt; i++) {
|
||||||
err = mtdtest_read(mtd, addr, pgsize, buf);
|
err = mtdtest_read(mtd, addr, pgsize, buf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
addr);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
addr += pgsize;
|
addr += pgsize;
|
||||||
buf += pgsize;
|
buf += pgsize;
|
||||||
}
|
}
|
||||||
|
@ -179,21 +171,13 @@ static int read_eraseblock_by_2pages(int ebnum)
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
err = mtdtest_read(mtd, addr, sz, buf);
|
err = mtdtest_read(mtd, addr, sz, buf);
|
||||||
if (err) {
|
if (err)
|
||||||
pr_err("error: read 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_read(mtd, addr, pgsize, buf);
|
err = mtdtest_read(mtd, addr, pgsize, buf);
|
||||||
if (err) {
|
|
||||||
pr_err("error: read failed at %#llx\n",
|
|
||||||
addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,7 @@ static int do_read(void)
|
||||||
{
|
{
|
||||||
int eb = rand_eb();
|
int eb = rand_eb();
|
||||||
int offs = rand_offs();
|
int offs = rand_offs();
|
||||||
int len = rand_len(offs), err;
|
int len = rand_len(offs);
|
||||||
loff_t addr;
|
loff_t addr;
|
||||||
|
|
||||||
if (bbt[eb + 1]) {
|
if (bbt[eb + 1]) {
|
||||||
|
@ -97,13 +97,7 @@ static int do_read(void)
|
||||||
len = mtd->erasesize - offs;
|
len = mtd->erasesize - offs;
|
||||||
}
|
}
|
||||||
addr = eb * mtd->erasesize + offs;
|
addr = eb * mtd->erasesize + offs;
|
||||||
err = mtdtest_read(mtd, addr, len, readbuf);
|
return mtdtest_read(mtd, addr, len, readbuf);
|
||||||
if (unlikely(err)) {
|
|
||||||
pr_err("error: read failed at 0x%llx\n",
|
|
||||||
(long long)addr);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_write(void)
|
static int do_write(void)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче