[PATCH 0/7] ASoC: harden SoundWire codec/machine drivers used on Intel platforms
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Mon Jun 6 22:37:45 CEST 2022
While testing fixes for SoundWire race conditions initially reported
in [1], I found additional issues in codec drivers. When the order in
which drivers are probed is changed, multiple errors are reported,
from unbalanced pm_runtime_enable() calls to invalid mutex lock magic
numbers, workqueues not initialized and missing resume sequences.
In 'nominal' usages, there is no change of functionality, this is just
a first step to test random device/driver bind/unbind sequences.
Important note: these changes only touch Intel-based platforms, I
don't have any background and ability to test on Qualcomm-based
devices.
[1] https://lore.kernel.org/alsa-devel/d0559e97-c4a0-b817-428c-d3e305390270@linux.intel.com/
Pierre-Louis Bossart (7):
ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove
ASoC: rt711-sdca-sdw: fix calibrate mutex initialization
ASoC: Intel: sof_sdw: handle errors on card registration
ASoC: rt711: fix calibrate mutex initialization
ASoC: rt7*-sdw: harden jack_detect_handler
ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe
ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in
.set_jack_detect
sound/soc/codecs/max98373-sdw.c | 12 +++++++-
sound/soc/codecs/rt1308-sdw.c | 11 +++++++
sound/soc/codecs/rt1316-sdw.c | 11 +++++++
sound/soc/codecs/rt5682-sdw.c | 5 ++-
sound/soc/codecs/rt700-sdw.c | 6 +++-
sound/soc/codecs/rt700.c | 30 +++++++++++-------
sound/soc/codecs/rt711-sdca-sdw.c | 9 +++++-
sound/soc/codecs/rt711-sdca.c | 40 ++++++++++++------------
sound/soc/codecs/rt711-sdw.c | 9 +++++-
sound/soc/codecs/rt711.c | 40 ++++++++++++------------
sound/soc/codecs/rt715-sdca-sdw.c | 12 ++++++++
sound/soc/codecs/rt715-sdw.c | 12 ++++++++
sound/soc/intel/boards/sof_sdw.c | 51 ++++++++++++++++++-------------
13 files changed, 169 insertions(+), 79 deletions(-)
--
2.34.1
More information about the Alsa-devel
mailing list