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@perex.cz