u-boot/disk
Shawn Guo 8f7102cf6b disk: part_dos: fix part_get_info_extended() function
The check in part_get_info_extended() for a successful partition
searching misses a condition for extended partition. In case of
(ext_part_sector == 0), we should anyway mark the partition as found,
even if it's an extended partition, i.e. (is_extended(pt->sys_ind) == 0).
Otherwise, the extended partition (type 0x0f) will never be identified,
and the following recursive call to part_get_info_extended() will get a
wrong 'part_num' and 'which_part' parameter.  In the end, all those
partitions in extended table will not be identified.

Let's add the missing OR condition of (ext_part_sector == 0) for
is_extended() check to fix the problem.

The issue is discovered by running fastboot flash to an extended
partition on eMMC.

  $ fastboot flash mmcsda5 cache.img
  target reported max download size of 536870912 bytes
  sending 'mmcsda5' (18796 KB)...
  OKAY [  2.144s]
  writing 'mmcsda5'...
  FAILED (remote: cannot find partition)
  finished. total time: 2.261s

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2017-11-06 09:59:01 -05:00
..
Kconfig SPARC: Remove 2017-04-05 13:52:20 -04:00
Makefile disk: convert CONFIG_EFI_PARTITION to Kconfig 2017-01-28 08:47:42 -05:00
part_amiga.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
part_amiga.h disk: convert CONFIG_ISO_PARTITION to Kconfig 2017-01-28 08:47:35 -05:00
part_dos.c disk: part_dos: fix part_get_info_extended() function 2017-11-06 09:59:01 -05:00
part_dos.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
part_efi.c gpt: Use cache aligned buffers for gpt_h and gpt_e 2017-11-06 09:59:01 -05:00
part_iso.c iso: Reduce verbosity on test and info calls 2017-10-16 09:42:51 -04:00
part_iso.h iso: Make little endian and 64bit safe 2016-04-18 17:11:33 -04:00
part_mac.c part: mac: Suppress the error message after reading ddb 2017-09-07 10:44:33 -04:00
part_mac.h disk: convert CONFIG_ISO_PARTITION to Kconfig 2017-01-28 08:47:35 -05:00
part.c disk: Provide API to get partition by name for specific type 2017-10-06 11:28:17 -04:00