Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abc173ad authored by Akinobu Mita's avatar Akinobu Mita Committed by David Woodhouse
Browse files

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: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 0d58f6ee
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -92,6 +92,8 @@ int mtdtest_read(struct mtd_info *mtd, loff_t addr, size_t size, void *buf)
		err = 0;
	if (!err && read != size)
		err = -EIO;
	if (err)
		pr_err("error: read failed at %#llx\n", addr);

	return err;
}
+9 −46
Original line number Diff line number Diff line
@@ -84,24 +84,15 @@ static int verify_eraseblock(int ebnum)
	for (j = 0; j < pgcnt - 1; ++j, addr += pgsize) {
		/* Do a read to set the internal dataRAMs to different data */
		err = mtdtest_read(mtd, addr0, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)addr0);
		if (err)
			return err;
		}
		err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)(addrn - bufsize));
		if (err)
			return err;
		}
		memset(twopages, 0, bufsize);
		err = mtdtest_read(mtd, addr, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)addr);
		if (err)
			break;
		}
		if (memcmp(twopages, writebuf + (j * pgsize), bufsize)) {
			pr_err("error: verify failed at %#llx\n",
			       (long long)addr);
@@ -114,24 +105,15 @@ static int verify_eraseblock(int ebnum)

		/* Do a read to set the internal dataRAMs to different data */
		err = mtdtest_read(mtd, addr0, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)addr0);
		if (err)
			return err;
		}
		err = mtdtest_read(mtd, addrn - bufsize, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)(addrn - bufsize));
		if (err)
			return err;
		}
		memset(twopages, 0, bufsize);
		err = mtdtest_read(mtd, addr, bufsize, twopages);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       (long long)addr);
		if (err)
			return err;
		}
		memcpy(boundary, writebuf + mtd->erasesize - pgsize, pgsize);
		prandom_bytes_state(&rnd_state, boundary + pgsize, pgsize);
		if (memcmp(twopages, boundary, bufsize)) {
@@ -171,8 +153,6 @@ static int crosstest(void)
	addr = addrn - pgsize - pgsize;
	err = mtdtest_read(mtd, addr, pgsize, pp1);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr);
		kfree(pp1);
		return err;
	}
@@ -181,8 +161,6 @@ static int crosstest(void)
	addr = addrn - pgsize - pgsize - pgsize;
	err = mtdtest_read(mtd, addr, pgsize, pp1);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr);
		kfree(pp1);
		return err;
	}
@@ -192,8 +170,6 @@ static int crosstest(void)
	pr_info("reading page at %#llx\n", (long long)addr);
	err = mtdtest_read(mtd, addr, pgsize, pp2);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr);
		kfree(pp1);
		return err;
	}
@@ -203,8 +179,6 @@ static int crosstest(void)
	pr_info("reading page at %#llx\n", (long long)addr);
	err = mtdtest_read(mtd, addr, pgsize, pp3);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr);
		kfree(pp1);
		return err;
	}
@@ -214,8 +188,6 @@ static int crosstest(void)
	pr_info("reading page at %#llx\n", (long long)addr);
	err = mtdtest_read(mtd, addr, pgsize, pp4);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr);
		kfree(pp1);
		return err;
	}
@@ -269,11 +241,8 @@ static int erasecrosstest(void)
	pr_info("reading 1st page of block %d\n", ebnum);
	memset(readbuf, 0, pgsize);
	err = mtdtest_read(mtd, addr0, pgsize, readbuf);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr0);
	if (err)
		return err;
	}

	pr_info("verifying 1st page of block %d\n", ebnum);
	if (memcmp(writebuf, readbuf, pgsize)) {
@@ -305,11 +274,8 @@ static int erasecrosstest(void)
	pr_info("reading 1st page of block %d\n", ebnum);
	memset(readbuf, 0, pgsize);
	err = mtdtest_read(mtd, addr0, pgsize, readbuf);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr0);
	if (err)
		return err;
	}

	pr_info("verifying 1st page of block %d\n", ebnum);
	if (memcmp(writebuf, readbuf, pgsize)) {
@@ -358,11 +324,8 @@ static int erasetest(void)

	pr_info("reading 1st page of block %d\n", ebnum);
	err = mtdtest_read(mtd, addr0, pgsize, twopages);
	if (err) {
		pr_err("error: read failed at %#llx\n",
		       (long long)addr0);
	if (err)
		return err;
	}

	pr_info("verifying 1st page of block %d is all 0xff\n",
	       ebnum);
+0 −2
Original line number Diff line number Diff line
@@ -55,8 +55,6 @@ static int read_eraseblock_by_page(int ebnum)
		memset(buf, 0 , pgsize);
		ret = mtdtest_read(mtd, addr, pgsize, buf);
		if (ret) {
			pr_err("error: read failed at %#llx\n",
			       (long long)addr);
			if (!err)
				err = ret;
		}
+4 −20
Original line number Diff line number Diff line
@@ -140,14 +140,9 @@ static int write_eraseblock_by_2pages(int ebnum)

static int read_eraseblock(int ebnum)
{
	int err;
	loff_t addr = ebnum * mtd->erasesize;

	err = mtdtest_read(mtd, addr, mtd->erasesize, iobuf);
	if (err)
		pr_err("error: read failed at %#llx\n", addr);

	return err;
	return mtdtest_read(mtd, addr, mtd->erasesize, iobuf);
}

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++) {
		err = mtdtest_read(mtd, addr, pgsize, buf);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       addr);
		if (err)
			break;
		}
		addr += pgsize;
		buf += pgsize;
	}
@@ -179,21 +171,13 @@ static int read_eraseblock_by_2pages(int ebnum)

	for (i = 0; i < n; i++) {
		err = mtdtest_read(mtd, addr, sz, buf);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       addr);
		if (err)
			return err;
		}
		addr += sz;
		buf += sz;
	}
	if (pgcnt % 2) {
	if (pgcnt % 2)
		err = mtdtest_read(mtd, addr, pgsize, buf);
		if (err) {
			pr_err("error: read failed at %#llx\n",
			       addr);
		}
	}

	return err;
}
+2 −8
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ static int do_read(void)
{
	int eb = rand_eb();
	int offs = rand_offs();
	int len = rand_len(offs), err;
	int len = rand_len(offs);
	loff_t addr;

	if (bbt[eb + 1]) {
@@ -97,13 +97,7 @@ static int do_read(void)
			len = mtd->erasesize - offs;
	}
	addr = eb * mtd->erasesize + offs;
	err = 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;
	return mtdtest_read(mtd, addr, len, readbuf);
}

static int do_write(void)