[U-Boot] [RFC] disk: part_dos: Fix part_test_dos() regression

Rob Clark robdclark at gmail.com
Tue Oct 3 10:47:02 UTC 2017


personally I think we should try to figure out what is wrong on imx6
rather than blindly reverting.. without this change MBR partitioned
disks might not generate unique device-paths for EFI boot.

If you can't get any debug logs from SPL build, perhaps you can try an
old SPL image but main u-boot image with the logs I suggested?  I
guess the same issue should happen with the main u-boot image.

BR,
-R

On Mon, Oct 2, 2017 at 9:50 PM, Fabio Estevam <festevam at gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam at nxp.com>
>
> Since commit ff98cb90514d ("part: extract MBR signature from partitions")
> SPL boot on i.MX6 starts to fail:
>
> U-Boot SPL 2017.09-00221-g0d6ab32 (Oct 02 2017 - 15:13:19)
> Trying to boot from MMC1
> (hangs here)
>
> Revert the part_test_dos() changes from this commit, so that
> SPL boot can be functional again.
>
> Tested on a imx6q-cuboxi board.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
> ---
>  disk/part_dos.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/disk/part_dos.c b/disk/part_dos.c
> index 1a36be0..213a8d8 100644
> --- a/disk/part_dos.c
> +++ b/disk/part_dos.c
> @@ -89,20 +89,14 @@ static int test_block_type(unsigned char *buffer)
>
>  static int part_test_dos(struct blk_desc *dev_desc)
>  {
> -       ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, dev_desc->blksz);
> +       ALLOC_CACHE_ALIGN_BUFFER(unsigned char, mbr, dev_desc->blksz);
>
>         if (blk_dread(dev_desc, 0, 1, (ulong *)mbr) != 1)
>                 return -1;
>
> -       if (test_block_type((unsigned char *)mbr) != DOS_MBR)
> +       if (test_block_type(mbr) != DOS_MBR)
>                 return -1;
>
> -       if (dev_desc->sig_type == SIG_TYPE_NONE &&
> -           mbr->unique_mbr_signature != 0) {
> -               dev_desc->sig_type = SIG_TYPE_MBR;
> -               dev_desc->mbr_sig = mbr->unique_mbr_signature;
> -       }
> -
>         return 0;
>  }
>
> --
> 2.7.4
>


More information about the U-Boot mailing list