From bef99593f93b41304276996aba19a30d663cc85d Mon Sep 17 00:00:00 2001 From: Ye Li Date: Wed, 26 Sep 2018 02:15:00 -0700 Subject: MLK-19726-2 arm: Don't remove all devices when power domain driver is enabled Because we power off all devices in board_quiesce_devices which is prior then executing dm_remove_devices_flags. So any access to HW in dm_remove_devices_flags will cause problem. However, some drivers like ethernet which implements the pre_remove callback is always called without any flags check, and this finally accesses FEC controller. Since we don't need to remove all devices in u-boot before starting kernel, disable this feature when power domain is enabled. Signed-off-by: Ye Li (cherry picked from commit 741f2ea182bf293d8270bdc4a217a96db22c414c) --- arch/arm/lib/bootm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index cfc236f964..d730cc6253 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -108,7 +108,9 @@ static void announce_and_cleanup(int fake) * This may be useful for last-stage operations, like cancelling * of DMA operation or releasing device internal buffers. */ +#ifndef CONFIG_POWER_DOMAIN dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL); +#endif cleanup_before_linux(); } -- cgit v1.2.3