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

Commit 3efe5090 authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBI: check if we are in RO mode in the erase routine



'do_sync_erase()' has to check whether we are in R/O mode before
erasing the PEB. This patch adds the check and while on it, adds an
assertion which validates the 'pnum' argument, as well as removes
a check which is always true because it has already been done
few lines before.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 7da6443a
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -344,6 +344,12 @@ static int do_sync_erase(struct ubi_device *ubi, int pnum)
	wait_queue_head_t wq;

	dbg_io("erase PEB %d", pnum);
	ubi_assert(pnum >= 0 && pnum < ubi->peb_count);

	if (ubi->ro_mode) {
		ubi_err("read-only mode");
		return -EROFS;
	}

retry:
	init_waitqueue_head(&wq);
@@ -390,7 +396,7 @@ static int do_sync_erase(struct ubi_device *ubi, int pnum)
	if (err)
		return err;

	if (ubi_dbg_is_erase_failure() && !err) {
	if (ubi_dbg_is_erase_failure()) {
		dbg_err("cannot erase PEB %d (emulated)", pnum);
		return -EIO;
	}