From: Cezary Rojewski <cezary.rojewski@intel.com>
To: broonie@kernel.org
Cc: tiwai@suse.com, perex@perex.cz, amade@asmblr.net,
linux-sound@vger.kernel.org,
Cezary Rojewski <cezary.rojewski@intel.com>
Subject: [PATCH v3 00/10] ALSA/ASoC: Intel: avs: HDAudio bus and general fixes
Date: Mon, 31 Aug 2026 18:42:23 +0200 [thread overview]
Message-ID: <20260831164233.1487766-1-cezary.rojewski@intel.com> (raw)
The first half of the patchset concentrates on the driver initialization
procedure - a number of steps do not clean up after themselves when they
fail. This is for both, HDAudio bus (ext) and the DSP part (avs) and
targets following procedures:
- stream initialization
- link initialization
- bus initialization
The next five are loosely related fixes. First, split topology-loading
error handling from request-firmware one. Currently -ENOENT coming from
topology-loading, which is a real error, is ignored.
Second, with deeper test coverage around corrupted firmware/DSP exception
handling, new issues are unearthed. Switch to async d0ix_work
cancellation to avoid deadlock when D0IX has been scheduled just before
the recovery work.
The 09/10 patch, init_config change fixes possible out-of-bounds bug.
The fix is larger than what one could expect as instead of patching with
if-statements I've decided to refactor the parsing of init_configs.
The scenario that causes the problem no longer exists.
Note: the solution does not impose any changes on the existing topology
files (userspace).
The remaining two, IMHO are self-explanatory.
Changes in v3:
- dropped the patch introduced in v2 as an equivalent change has just
been merged [1]
Changes in v2:
- added patch "ALSA: hda: Clean up pages when stream buffers allocation
fails" to address Mark's review for "ASoC: Intel: avs: Clean up the
bus when its initialization fails" and clean up pages before
collapsing the bus initialization
- removed unused 'acomp' variable as pointed out by Mark
[1]: https://lore.kernel.org/all/tencent_8E5BBBD19D53B1EFCDB6E89F3B6246A70B06@qq.com/
Cezary Rojewski (10):
ALSA: hda: ext: Clean up links if their initialization fails
ALSA: hda: ext: Clean up streams if their initialization fails
ASoC: Intel: avs: Clean up the bus when its initialization fails
ASoC: Intel: avs: Clean up the bus when fetching ML caps fails
ASoC: Intel: avs: Clean up streams if their initialization fails
ASoC: Intel: avs: Do not ignore -ENOENT when loading a topology
ASoC: Intel: avs: Cancel d0ix_work asynchrounously during recovery
ASoC: Intel: avs: Fix unbalanced module reference count
ASoC: Intel: avs: Refactor and fix init_config access
ASoC: Intel: avs: hda: Constrain MSBs on startup
sound/hda/core/ext/controller.c | 11 +++++-
sound/hda/core/ext/stream.c | 11 +++++-
sound/soc/intel/avs/boards/hdaudio.c | 17 ++++++++
sound/soc/intel/avs/core.c | 59 +++++++++++++++++++---------
sound/soc/intel/avs/debugfs.c | 12 ++++--
sound/soc/intel/avs/ipc.c | 6 +--
sound/soc/intel/avs/path.c | 11 ++----
sound/soc/intel/avs/pcm.c | 34 +++++++++-------
sound/soc/intel/avs/topology.c | 49 +++++++++++++----------
sound/soc/intel/avs/topology.h | 5 ++-
10 files changed, 143 insertions(+), 72 deletions(-)
--
2.34.1
next reply other threads:[~2026-08-31 16:38 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 16:42 Cezary Rojewski [this message]
2026-08-31 16:42 ` [PATCH v3 01/10] ALSA: hda: ext: Clean up links if their initialization fails Cezary Rojewski
2026-09-01 11:39 ` Takashi Iwai
2026-09-01 11:58 ` Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 02/10] ALSA: hda: ext: Clean up streams " Cezary Rojewski
2026-09-01 11:42 ` Takashi Iwai
2026-09-01 11:49 ` Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 03/10] ASoC: Intel: avs: Clean up the bus when its " Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 04/10] ASoC: Intel: avs: Clean up the bus when fetching ML caps fails Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 05/10] ASoC: Intel: avs: Clean up streams if their initialization fails Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 06/10] ASoC: Intel: avs: Do not ignore -ENOENT when loading a topology Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 07/10] ASoC: Intel: avs: Cancel d0ix_work asynchrounously during recovery Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 08/10] ASoC: Intel: avs: Fix unbalanced module reference count Cezary Rojewski
2026-08-31 16:42 ` [PATCH v3 09/10] ASoC: Intel: avs: Refactor and fix init_config access Cezary Rojewski
2026-08-31 22:30 ` Mark Brown
2026-09-01 8:57 ` Cezary Rojewski
2026-09-01 11:28 ` Mark Brown
2026-08-31 16:42 ` [PATCH v3 10/10] ASoC: Intel: avs: hda: Constrain MSBs on startup Cezary Rojewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260831164233.1487766-1-cezary.rojewski@intel.com \
--to=cezary.rojewski@intel.com \
--cc=amade@asmblr.net \
--cc=broonie@kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.