diff options
| -rw-r--r-- | drivers/mtd/ubi/io.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c index eededf94f5a6..e347cc4388ed 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c @@ -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 @@ retry:  	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;  	} | 
