Re: [PATCH v3] ASoC: cs35l56: Fix probe deadlock waiting for SoundWire enumeration

From: Mark Brown

Date: Tue Sep 01 2026 - 11:29:10 EST


On Tue, Sep 01, 2026 at 01:26:44PM +0100, Richard Fitzgerald wrote:

> The work item is queued on a freezable workqueue to prevent a race between
> the work item and system_suspend of another instance. If the workqueue
> were not frozen it would be possible for the work item of one driver
> instance to call snd_soc_register_component() which then calls
> cs35l56_component_probe() of another instance while that instance is
> already executing its system suspend functions.

I'll apply this since it's very much a corner case and there's a real
problem but you should probably check out the kexec case - it looks like
it misses freeze_kernel_threads(). TBH I'm not sure the issue there
isn't on the kexec side, it's not exactly a common case and having a
difference like that feels like asking for trouble.

Attachment: signature.asc
Description: PGP signature