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
Loading
Please register or sign in to comment