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

From: Vinod Koul
Date: Wed Sep 09 2020 - 03:59:39 EST

On 08-09-20, 13:58, Jaroslav Kysela wrote:
> 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.

I do feel that there is something else going on, but not able to pin
point, anyway this fixes the issue so I am applying it now
> Acked-by: Jaroslav Kysela <perex@xxxxxxxx>

Thanks for ack