ASoC: SOF/soundwire: use resume_and_get on component probe
authorMark Brown <broonie@kernel.org>
Sat, 18 Jun 2022 00:46:19 +0000 (01:46 +0100)
committerMark Brown <broonie@kernel.org>
Sat, 18 Jun 2022 00:46:19 +0000 (01:46 +0100)
commit87a36978b27a32484423b9b0765c57939e162237
tree5bd0b96a3d29cd06e11ab65cc1a541ffd0fda775
parent6c9e9046e1ff356bda66661213735d33c6cfea53
parent011e397f5c9c96e533d4a244af84e74c9caefb83
ASoC: SOF/soundwire: use resume_and_get on component probe

Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

While testing driver bind/unbind sequences, I stumbled on a corner
case where the SoundWire bus can be suspended before the ASoC card
registration happens. During the registration, register accesses would
then lead to timeouts. This does not happen in regular usages where
the card registration happens within the 3-second time window before
suspend.

Adding a simple pm_runtime_resume_and_get() on component probe solves
the issue, but experiments showed it was too invasive to add at the
ASoC core level, with multiple regressions reported by our CI.

This patchset limits the additional resume to the SOF and SoundWire
codec drivers. An additional patch for the soundwire/intel component
will be sent separately.