@ -460,19 +460,25 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
{
ulong * initrd_start = & images - > initrd_start ;
ulong * initrd_end = & images - > initrd_end ;
int ret ;
int ret = - EPERM ;
int fdt_ret ;
if ( fdt_chosen ( blob ) < 0 ) {
puts ( " ERROR: /chosen node create failed " ) ;
puts ( " - must RESET the board to recover. \n " ) ;
return - 1 ;
printf ( " ERROR: /chosen node create failed \n " ) ;
goto err ;
}
if ( arch_fixup_fdt ( blob ) < 0 ) {
puts ( " ERROR: arch specific fdt fixup failed " ) ;
return - 1 ;
printf ( " ERROR: arch-specific fdt fixup failed \n " ) ;
goto err ;
}
if ( IMAGE_OF_BOARD_SETUP ) {
fdt_ret = ft_board_setup ( blob , gd - > bd ) ;
if ( fdt_ret ) {
printf ( " ERROR: board-specific fdt fixup failed: %s \n " ,
fdt_strerror ( fdt_ret ) ) ;
goto err ;
}
}
if ( IMAGE_OF_BOARD_SETUP )
ft_board_setup ( blob , gd - > bd ) ;
fdt_fixup_ethernet ( blob ) ;
/* Delete the old LMB reservation */
@ -481,7 +487,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
ret = fdt_shrink_to_minimum ( blob ) ;
if ( ret < 0 )
return ret ;
goto err ;
of_size = ret ;
if ( * initrd_start & & * initrd_end ) {
@ -493,7 +499,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
fdt_initrd ( blob , * initrd_start , * initrd_end ) ;
if ( ! ft_verify_fdt ( blob ) )
return - 1 ;
goto err ;
# if defined(CONFIG_SOC_KEYSTONE)
if ( IMAGE_OF_BOARD_SETUP )
@ -501,4 +507,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
# endif
return 0 ;
err :
printf ( " - must RESET the board to recover. \n \n " ) ;
return ret ;
}