Re: [PATCH] soundwire: cadence: fix race condition between suspend and Slave device alerts

From: Jaroslav Kysela
Date: Tue Sep 08 2020 - 15:15:22 EST


Dne 28. 08. 20 v 17:14 Pierre-Louis Bossart napsal(a):
>
>
>
>> Is this timeout for suspend or resume? Somehow I was under the
>> assumption that it is former? Or is the result seen on resume?
>>
>> Rereading the race describe above in steps, I think this should be
>> handled in step c above. Btw is that suspend or runtime suspend which
>> causes this? Former would be bigger issue as we should not have work
>> running when we return from suspend call. Latter should be dealt with
>> anyway as device might be off after suspend.
>
> This happens with a system suspend. Because we disable the interrupts,
> the workqueue never completes, and we have a timeout on system resume.
>
> That's why we want to prevent the workqueue from starting, or let it
> complete, but not have this zombie state where we suspend but there's
> still a wait for completion that times out later. The point here is
> really making sure the workqueue is not used before suspend.
>

Vinod, there is no acceptance progress on this. The patch is really straight
and for the Intel controller. They know what they're doing. I would apply
this. The code can be refined at anytime. It's a fix. I tested it and I can
confirm, that it fixes the issue. It's a vital patch for 5.10 to enable
finally SoundWire drivers for the Intel hardware.

Acked-by: Jaroslav Kysela <perex@xxxxxxxx>


--
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.