From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Cezary Rojewski <cezary.rojewski@intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Mark Brown <broonie@kernel.org>, Takashi Iwai <tiwai@suse.de>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10.y 4/5] ASoC: Intel: Drop hdac_ext usage for codec device creation
Date: Fri, 11 Sep 2026 06:50:01 -0400 [thread overview]
Message-ID: <20260911105003.268248-4-sashal@kernel.org> (raw)
In-Reply-To: <20260911105003.268248-1-sashal@kernel.org>
From: Cezary Rojewski <cezary.rojewski@intel.com>
[ Upstream commit 3fd63658caed9494cca1d4789a66d3d2def2a0ab ]
To make snd_hda_codec_device_init() the only constructor for struct
hda_codec instances remaining tasks are:
1) no struct may wrap struct hda_codec as its base type
2) bus drivers (skylake and sof) which are the current hdac_ext users
need to be adjusted to make use of newly added codec init and exit
routines instead
3) as bus drivers (skylake and sof) are to be responsible for creating
codec device and assigning it to hdac_hda_priv->codec,
hdac_hda_dev_probe() has to be freed of that job
To keep git bisect happy, all of these in made in one-go.
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220816111727.3218543-4-cezary.rojewski@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[5.15 dependency adaptation]
Keep the existing embedded codec and hdac_ext allocation model. The
constructor conversion is unnecessary for the target fix and depends on
subsequent codec-release changes absent from this stable tree. Dropping
that conversion also preserves the existing HDAC_DAI_ID_NUM bounds fix
and avoids the upstream SOF fallback's missing constructor argument.
Retain the driver-data ordering needed by 6ad4892c4f5c by moving
dev_set_drvdata() before component registration in hdac_hda_dev_probe(),
rather than moving codec allocation into the bus drivers. This removes
the assignment between registration and link release while ensuring
component probing can access its private data. Match the target's
registration-call context and function-qualified error diagnostic so its
unmodified patch applies cleanly. Leave the link-refcount fix itself to
the target commit. No functions are added.
[ sashal: Reduced backport -- upstream 3fd63658caed9 touches 6 file(s), this
backport carries 1. Not backported here:
sound/soc/codecs/hdac_hda.h
sound/soc/intel/boards/hda_dsp_common.c
sound/soc/intel/boards/skl_hda_dsp_generic.c
sound/soc/intel/skylake/skl.c
sound/soc/sof/intel/hda-codec.c
This note is generated from the file lists only; see the resolution record
for the reasoning. ]
Stable-dep-of: 6ad4892c4f5c ("ASoC: hdac_hda: Fix hlink refcount leak on component registration failure")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/hdac_hda.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/sound/soc/codecs/hdac_hda.c b/sound/soc/codecs/hdac_hda.c
index de5955db0a5f0..3cb5ae7fb5269 100644
--- a/sound/soc/codecs/hdac_hda.c
+++ b/sound/soc/codecs/hdac_hda.c
@@ -593,16 +593,18 @@ static int hdac_hda_dev_probe(struct hdac_device *hdev)
if (!hda_pvt)
return -ENOMEM;
+ dev_set_drvdata(&hdev->dev, hda_pvt);
+
/* ASoC specific initialization */
ret = devm_snd_soc_register_component(&hdev->dev,
- &hdac_hda_codec, hdac_hda_dais,
- ARRAY_SIZE(hdac_hda_dais));
+ &hdac_hda_codec, hdac_hda_dais,
+ ARRAY_SIZE(hdac_hda_dais));
+
if (ret < 0) {
- dev_err(&hdev->dev, "failed to register HDA codec %d\n", ret);
+ dev_err(&hdev->dev, "%s: failed to register HDA codec %d\n", __func__, ret);
return ret;
}
- dev_set_drvdata(&hdev->dev, hda_pvt);
snd_hdac_ext_bus_link_put(hdev->bus, hlink);
return ret;
--
2.53.0
next prev parent reply other threads:[~2026-09-11 10:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-09 10:03 FAILED: patch "[PATCH] ASoC: hdac_hda: Fix hlink refcount leak on component" failed to apply to 5.10-stable tree gregkh
2026-09-11 10:49 ` [PATCH 5.10.y 1/5] ALSA: hda: Update and expose snd_hda_codec_device_init() Sasha Levin
2026-09-11 10:49 ` [PATCH 5.10.y 2/5] ASoC: Intel: Skylake: Introduce HDA codec init and exit routines Sasha Levin
2026-09-11 10:50 ` [PATCH 5.10.y 3/5] ASoC: SOF: Intel: " Sasha Levin
2026-09-11 10:50 ` Sasha Levin [this message]
2026-09-11 10:50 ` [PATCH 5.10.y 5/5] ASoC: hdac_hda: Fix hlink refcount leak on component registration failure Sasha Levin
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=20260911105003.268248-4-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox