Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a629614 authored by Joe Hattori's avatar Joe Hattori
Browse files

init: Retry the firmware request in a detached thread if failed

ProcessFirmwareEvent() falls into an infinite loop in some environment;
it tries to load the requested firmware and retries on failure while the
/dev/.booting file exists. This file is deleted on
`firmware_mounts_complete`, which is triggered by late-init. Since
coldboot waits until the thread pool becomes empty, this behavior causes
a deadlock when coldboot thread pool is enabled.

This commit retries the firmwrae handling in a detached thread rather
than in a thread pool when the initial firmware load failed.

Bug: 441001521
Test: cuttlefish boots with kernel 5.4
Test: firmware handling is executed in the thread pool when the firmware exists
Change-Id: I9608bfecabc33f5e0755add6fbfde9fc97585817
parent 44ebaea8
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment