[PATCH] efi: Call bootm_disable_interrupts earlier in efi_exit_boot_services

Tom Rini trini at konsulko.com
Fri Nov 19 23:09:51 CET 2021


On Fri, Nov 19, 2021 at 10:52:27PM +0100, Heinrich Schuchardt wrote:
> 
> 
> Am 19. November 2021 22:33:04 MEZ schrieb Tom Rini <trini at konsulko.com>:
> >If we look at the path that bootm/booti take when preparing to boot the
> >OS, we see that as part of (or prior to calling do_bootm_states,
> >explicitly) the process, bootm_disable_interrupts() is called prior to
> >announce_and_cleanup() which is where udc_disconnect() /
> >board_quiesce_devices() / dm_remove_devices_flags() are called from.  In
> >the EFI path, these are called afterwards.  In efi_exit_boot_services()
> >however we have been calling bootm_disable_interrupts() after the above
> >functions, as part of ensuring that we disable interrupts as required
> >by the spec.  However, bootm_disable_interrupts() is also where we go
> >and call usb_stop().  While this has been fine before, on the TI J721E
> >platform this leads us to an exception.  This exception seems likely to
> >be the case that we're trying to stop devices that we have already
> >disabled clocks for.  The most direct way to handle this particular
> 
> This patch may hide an error on your board but obviously does not address the real problem.
> 
> If dependencies in the shut down sequence should exist, we need to consider them in the driver model.
> 
> What is your plan to analyze the problem?

I'm not sure there is a different problem to solve here.  It's unsafe to
call the "shut everything down" function, which is what usb_stop() is,
after having shut everything down.  We may be able to stop calling
usb_stop() as any sort of shutdown should already have happened via
driver model, which is what we see now.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20211119/ea314d40/attachment.sig>


More information about the U-Boot mailing list