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: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
7da6443aca
commit
3efe509070
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue