Re: [PATCH] soundwire: cadence: fix race condition between suspend and Slave device alerts
From: Pierre-Louis Bossart
Date: Fri Aug 28 2020 - 11:14:57 EST
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.