Re: [PATCH v5] ASoC: SOF: Fix deadlock when shutdown a frozen userspace

From: Kai Vehmanen
Date: Mon Nov 28 2022 - 09:42:30 EST


Hi,

On Mon, 28 Nov 2022, Ricardo Ribalda wrote:

> During kexec(), the userspace is frozen. Therefore we cannot wait for it
> to complete.
>
> Avoid running snd_sof_machine_unregister during shutdown.
[...]
> /*
> - * make sure clients and machine driver(s) are unregistered to force
> - * all userspace devices to be closed prior to the DSP shutdown sequence
> + * make sure clients are unregistered prior to the DSP shutdown
> + * sequence.
> */
> sof_unregister_clients(sdev);
>
> - snd_sof_machine_unregister(sdev, pdata);
> -
> if (sdev->fw_state == SOF_FW_BOOT_COMPLETE)

this is problematic as removing that machine_unregister() call will (at
least) bring back an issue on Intel platforms (rare problem hitting S5 on
Chromebooks).

Not sure how to solve this, but if that call needs to be removed
(unsafe to call at shutdown), then we need to rework how SOF
does the cleanup.

Br, Kai