mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-29 14:41:26 +01:00
driver: net: fsl-mc: Update fsl_mc_ldpaa_exit() path
Earlier when MC is loaded but DPL is not deployed results in FDT fix-up code execution hangs. For this case now print message on console and return success instead of return -ENODEV. This update allows fdt fixup to continue execution. Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com> Signed-off-by: Priyanka Jain <Priyanka.jain@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
parent
c40e6f9169
commit
42e8179007
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2017 NXP Semiconductors
|
||||||
* Copyright (C) 2014 Freescale Semiconductor
|
* Copyright (C) 2014 Freescale Semiconductor
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-2.0+
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
@ -1201,6 +1202,7 @@ err:
|
|||||||
int fsl_mc_ldpaa_exit(bd_t *bd)
|
int fsl_mc_ldpaa_exit(bd_t *bd)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
bool is_dpl_apply_status = false;
|
||||||
|
|
||||||
if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
|
if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
|
||||||
mc_apply_dpl(mc_lazy_dpl_addr);
|
mc_apply_dpl(mc_lazy_dpl_addr);
|
||||||
@ -1211,14 +1213,18 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
|
|||||||
if (bd && get_mc_boot_status() != 0)
|
if (bd && get_mc_boot_status() != 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (bd && !get_mc_boot_status() && get_dpl_apply_status() == -1) {
|
/* If DPL is deployed, set is_dpl_apply_status as TRUE. */
|
||||||
printf("ERROR: fsl-mc: DPL is not applied\n");
|
if (!get_dpl_apply_status())
|
||||||
err = -ENODEV;
|
is_dpl_apply_status = true;
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bd && !get_mc_boot_status() && !get_dpl_apply_status())
|
/*
|
||||||
return err;
|
* For case MC is loaded but DPL is not deployed, return success and
|
||||||
|
* print message on console. Else FDT fix-up code execution hanged.
|
||||||
|
*/
|
||||||
|
if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
|
||||||
|
printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
err = dpbp_exit();
|
err = dpbp_exit();
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user