On 2/11/22 16:05, Simon Glass wrote:
Hi Marek,

Hi,

Calling device_chld_remove() before flags_remove() means all devices
get removed no matter whether they should be removed late or not. This
breaks teardown of eMMC when booting and other critical boot paths.

Fixes: c51d2e704a1 ("dm: core: Avoid partially removing devices")
Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Simon Glass <s...@chromium.org>
---
  drivers/core/device-remove.c | 16 ++++++++--------
  1 file changed, 8 insertions(+), 8 deletions(-)

This means that the children do not get the remove signal if
-EPROBE_DEFER or -EKEYREJECTED are returned by the 'dev' device.

Also it fails several tests ('make qcheck').

Do you have an idea for a better fix, one which doesn't break booting Linux from U-Boot ? I think that's a rather important use-case .

Reply via email to