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

Commit df3fca4c authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBI: fix check_data_ff return code



When the data does not contain all 0xFF bytes, 'check_data_ff()' should return
1, not -EINVAL; Also, the caller ('process_eb()') should not add the PEB to the
"corrupted" list if there was a read error.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent fb22b59b
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -784,7 +784,7 @@ static int check_data_ff(struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr,
	ubi_dbg_print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
			       ubi->peb_buf1, ubi->leb_size, 1);
	mutex_unlock(&ubi->buf_mutex);
	return -EINVAL;
	return 1;
}

/**
@@ -936,7 +936,10 @@ static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si,
			 * have to check what is in the data area.
			 */
			err = check_data_ff(ubi, vidh, pnum);
		if (!err)

		if (err < 0)
			return err;
		else if (!err)
			/* This corruption is caused by a power cut */
			err = add_to_list(si, pnum, ec, 1, &si->erase);
		else