From b0eae27fce90f00f407961c5907e0e21cf47ef18 Mon Sep 17 00:00:00 2001 From: Ye Li Date: Wed, 26 Sep 2018 02:15:00 -0700 Subject: [PATCH] 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 bf68a5ba62..96cac780b5 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -109,7 +109,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(); } -- 2.17.1