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

Commit c0e860ba authored by Jeff Westfahl's avatar Jeff Westfahl Committed by Richard Weinberger
Browse files

mtd: ubi: Use 'max_bad_blocks' to compute bad_peb_limit if available



If the user has not set max_beb_per1024 using either the cmdline or
Kconfig options for doing so, use the MTD function 'max_bad_blocks' to
compute the UBI bad_peb_limit.

Signed-off-by: default avatarJeff Westfahl <jeff.westfahl@ni.com>
Signed-off-by: default avatarZach Brown <zach.brown@ni.com>
Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electron.com>
Acked-by: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent c877154d
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -535,8 +535,17 @@ static int get_bad_peb_limit(const struct ubi_device *ubi, int max_beb_per1024)
	int limit, device_pebs;
	uint64_t device_size;

	if (!max_beb_per1024)
	if (!max_beb_per1024) {
		/*
		 * Since max_beb_per1024 has not been set by the user in either
		 * the cmdline or Kconfig, use mtd_max_bad_blocks to set the
		 * limit if it is supported by the device.
		 */
		limit = mtd_max_bad_blocks(ubi->mtd, 0, ubi->mtd->size);
		if (limit < 0)
			return 0;
		return limit;
	}

	/*
	 * Here we are using size of the entire flash chip and