On Thu, Nov 02, 2017 at 04:46:34PM +0800, Shawn Guo wrote:

> From: Shawn Guo <[email protected]>
> 
> 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 <[email protected]>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to