* [PATCH 1/9] ASoC: codecs: hda: Fix RPM usage count underflow
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX Cezary Rojewski
` (9 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
RPM manipulation in hda_codec_probe_complete()'s error path is
superfluous and leads to RPM usage count underflow if the
build-controls operation fails.
hda_codec_probe_complete() is called in:
1) hda_codec_probe() for all non-HDMI codecs
2) in card->late_probe() for HDMI codecs
Error path for hda_codec_probe() takes care of bus' RPM already.
For 2) if late_probe() fails, ASoC performs card cleanup what
triggers hda_codec_remote() - same treatment is in 1).
Fixes: b5df2a7dca1c ("ASoC: codecs: Add HD-Audio codec driver")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/codecs/hda.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/hda.c b/sound/soc/codecs/hda.c
index ddc00927313c..dc7794c9ac44 100644
--- a/sound/soc/codecs/hda.c
+++ b/sound/soc/codecs/hda.c
@@ -152,7 +152,7 @@ int hda_codec_probe_complete(struct hda_codec *codec)
ret = snd_hda_codec_build_controls(codec);
if (ret < 0) {
dev_err(&hdev->dev, "unable to create controls %d\n", ret);
- goto out;
+ return ret;
}
/* Bus suspended codecs as it does not manage their pm */
@@ -160,7 +160,7 @@ int hda_codec_probe_complete(struct hda_codec *codec)
/* rpm was forbidden in snd_hda_codec_device_new() */
snd_hda_codec_set_power_save(codec, 2000);
snd_hda_codec_register(codec);
-out:
+
/* Complement pm_runtime_get_sync(bus) in probe */
pm_runtime_mark_last_busy(bus->dev);
pm_runtime_put_autosuspend(bus->dev);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
2025-05-30 14:10 ` [PATCH 1/9] ASoC: codecs: hda: Fix RPM usage count underflow Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation Cezary Rojewski
` (8 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
The procedure handling IPC timeouts and EXCEPTION_CAUGHT notification
shall cancel any D0IX work before proceeding with DSP recovery. If
SET_D0IX called from delayed_work is the failing IPC the procedure will
deadlock. Conditionally skip cancelling the work to fix that.
Fixes: 335c4cbd201d ("ASoC: Intel: avs: D0ix power state support")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/ipc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/avs/ipc.c b/sound/soc/intel/avs/ipc.c
index 08ed9d96738a..0314f9d4ea5f 100644
--- a/sound/soc/intel/avs/ipc.c
+++ b/sound/soc/intel/avs/ipc.c
@@ -169,7 +169,9 @@ static void avs_dsp_exception_caught(struct avs_dev *adev, union avs_notify_msg
dev_crit(adev->dev, "communication severed, rebooting dsp..\n");
- cancel_delayed_work_sync(&ipc->d0ix_work);
+ /* Avoid deadlock as the exception may be the response to SET_D0IX. */
+ if (current_work() != &ipc->d0ix_work.work)
+ cancel_delayed_work_sync(&ipc->d0ix_work);
ipc->in_d0ix = false;
/* Re-enabled on recovery completion. */
pm_runtime_disable(adev->dev);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
2025-05-30 14:10 ` [PATCH 1/9] ASoC: codecs: hda: Fix RPM usage count underflow Cezary Rojewski
2025-05-30 14:10 ` [PATCH 2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw Cezary Rojewski
` (7 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
HDAudio transfer types utilize SDxFMT for front-end (HOST) and PPLCxFMT
for back-end (LINK) side when setting up the stream. BE's
substream->runtime duplicates FE runtime so switch to using BE's
hw_params to address incorrect format values on the LINK side when FE
and BE formats differ.
The problem is introduced with commit d070002a20fc ("ASoC: Intel: avs:
HDA PCM BE operations") but the code has been shuffled around since then
so direct 'Fixes:' tag does not apply.
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/pcm.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c
index 405cfc1ab0cb..d1acc636add7 100644
--- a/sound/soc/intel/avs/pcm.c
+++ b/sound/soc/intel/avs/pcm.c
@@ -450,9 +450,10 @@ static int avs_dai_hda_be_hw_free(struct snd_pcm_substream *substream, struct sn
static int avs_dai_hda_be_prepare(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
{
- struct snd_pcm_runtime *runtime = substream->runtime;
+ struct snd_soc_pcm_runtime *be = snd_soc_substream_to_rtd(substream);
const struct snd_soc_pcm_stream *stream_info;
struct hdac_ext_stream *link_stream;
+ const struct snd_pcm_hw_params *p;
struct avs_dma_data *data;
unsigned int format_val;
unsigned int bits;
@@ -460,14 +461,15 @@ static int avs_dai_hda_be_prepare(struct snd_pcm_substream *substream, struct sn
data = snd_soc_dai_get_dma_data(dai, substream);
link_stream = data->link_stream;
+ p = &be->dpcm[substream->stream].hw_params;
if (link_stream->link_prepared)
return 0;
stream_info = snd_soc_dai_get_pcm_stream(dai, substream->stream);
- bits = snd_hdac_stream_format_bits(runtime->format, runtime->subformat,
+ bits = snd_hdac_stream_format_bits(params_format(p), params_subformat(p),
stream_info->sig_bits);
- format_val = snd_hdac_stream_format(runtime->channels, bits, runtime->rate);
+ format_val = snd_hdac_stream_format(params_channels(p), bits, params_rate(p));
snd_hdac_ext_stream_decouple(&data->adev->base.core, link_stream, true);
snd_hdac_ext_stream_reset(link_stream);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (2 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints Cezary Rojewski
` (6 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
Search result of avs_dai_find_path_template() shall be verified before
being used. As 'template' is already known when
avs_hw_constraints_init() is fired, drop the search entirely.
Fixes: f2f847461fb7 ("ASoC: Intel: avs: Constrain path based on BE capabilities")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/pcm.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c
index d1acc636add7..ccf90428126d 100644
--- a/sound/soc/intel/avs/pcm.c
+++ b/sound/soc/intel/avs/pcm.c
@@ -83,10 +83,8 @@ void avs_period_elapsed(struct snd_pcm_substream *substream)
static int hw_rule_param_size(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule);
static int avs_hw_constraints_init(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
{
- struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
struct snd_pcm_runtime *runtime = substream->runtime;
struct snd_pcm_hw_constraint_list *r, *c, *s;
- struct avs_tplg_path_template *template;
struct avs_dma_data *data;
int ret;
@@ -99,8 +97,7 @@ static int avs_hw_constraints_init(struct snd_pcm_substream *substream, struct s
c = &(data->channels_list);
s = &(data->sample_bits_list);
- template = avs_dai_find_path_template(dai, !rtd->dai_link->no_pcm, substream->stream);
- ret = avs_path_set_constraint(data->adev, template, r, c, s);
+ ret = avs_path_set_constraint(data->adev, data->template, r, c, s);
if (ret <= 0)
return ret;
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (3 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints Cezary Rojewski
` (5 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
From: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
The binaries for cAVS architecture are located in "intel/avs"
subdirectory, not "intel".
Fixes: 94aa347d34e0 ("ASoC: Intel: avs: Add MODULE_FIRMWARE to inform about FW")
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/core.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/sound/soc/intel/avs/core.c b/sound/soc/intel/avs/core.c
index 485842838025..ec1b3f55cb5c 100644
--- a/sound/soc/intel/avs/core.c
+++ b/sound/soc/intel/avs/core.c
@@ -945,14 +945,14 @@ MODULE_AUTHOR("Cezary Rojewski <cezary.rojewski@intel.com>");
MODULE_AUTHOR("Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>");
MODULE_DESCRIPTION("Intel cAVS sound driver");
MODULE_LICENSE("GPL");
-MODULE_FIRMWARE("intel/skl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/apl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/cnl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/icl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/jsl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/lkf/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/tgl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/ehl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/adl/dsp_basefw.bin");
-MODULE_FIRMWARE("intel/adl_n/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/skl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/apl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/cnl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/icl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/jsl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/lkf/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/tgl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/ehl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/adl/dsp_basefw.bin");
+MODULE_FIRMWARE("intel/avs/adl_n/dsp_basefw.bin");
MODULE_FIRMWARE("intel/fcl/dsp_basefw.bin");
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (4 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 7/9] ASoC: Intel: avs: Verify content returned by parse_int_array() Cezary Rojewski
` (4 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
All memory operations shall be checked.
Fixes: f2f847461fb7 ("ASoC: Intel: avs: Constrain path based on BE capabilities")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/path.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/intel/avs/path.c b/sound/soc/intel/avs/path.c
index ed8f0ea0e10d..e8e6b1c7fc90 100644
--- a/sound/soc/intel/avs/path.c
+++ b/sound/soc/intel/avs/path.c
@@ -134,6 +134,8 @@ int avs_path_set_constraint(struct avs_dev *adev, struct avs_tplg_path_template
rlist = kcalloc(i, sizeof(*rlist), GFP_KERNEL);
clist = kcalloc(i, sizeof(*clist), GFP_KERNEL);
slist = kcalloc(i, sizeof(*slist), GFP_KERNEL);
+ if (!rlist || !clist || !slist)
+ return -ENOMEM;
i = 0;
list_for_each_entry(path_template, &template->path_list, node) {
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 7/9] ASoC: Intel: avs: Verify content returned by parse_int_array()
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (5 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 8/9] ASoC: Intel: avs: Simplify verification of parse_int_array() result Cezary Rojewski
` (3 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
The first element of the returned array stores its length. If it is 0,
any manipulation beyond the element at index 0 ends with null-ptr-deref.
Fixes: 5a565ba23abe ("ASoC: Intel: avs: Probing and firmware tracing over debugfs")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/debugfs.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/avs/debugfs.c b/sound/soc/intel/avs/debugfs.c
index 8c4edda97f75..0e826ca20619 100644
--- a/sound/soc/intel/avs/debugfs.c
+++ b/sound/soc/intel/avs/debugfs.c
@@ -373,7 +373,10 @@ static ssize_t trace_control_write(struct file *file, const char __user *from, s
return ret;
num_elems = *array;
- resource_mask = array[1];
+ if (!num_elems) {
+ ret = -EINVAL;
+ goto free_array;
+ }
/*
* Disable if just resource mask is provided - no log priority flags.
@@ -381,6 +384,7 @@ static ssize_t trace_control_write(struct file *file, const char __user *from, s
* Enable input format: mask, prio1, .., prioN
* Where 'N' equals number of bits set in the 'mask'.
*/
+ resource_mask = array[1];
if (num_elems == 1) {
ret = disable_logs(adev, resource_mask);
} else {
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 8/9] ASoC: Intel: avs: Simplify verification of parse_int_array() result
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (6 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 7/9] ASoC: Intel: avs: Verify content returned by parse_int_array() Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-05-30 14:10 ` [PATCH 9/9] ASoC: Intel: avs: Include missing string.h Cezary Rojewski
` (2 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
The function return either success or an error code, no need to involve
'<' operator.
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/board_selection.c | 2 +-
sound/soc/intel/avs/debugfs.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/intel/avs/board_selection.c b/sound/soc/intel/avs/board_selection.c
index 636315060eb4..673ccf162023 100644
--- a/sound/soc/intel/avs/board_selection.c
+++ b/sound/soc/intel/avs/board_selection.c
@@ -548,7 +548,7 @@ static int avs_register_i2s_test_boards(struct avs_dev *adev)
u32 *array, num_elems;
ret = parse_int_array(i2s_test, strlen(i2s_test), (int **)&array);
- if (ret < 0) {
+ if (ret) {
dev_err(adev->dev, "failed to parse i2s_test parameter\n");
return ret;
}
diff --git a/sound/soc/intel/avs/debugfs.c b/sound/soc/intel/avs/debugfs.c
index 0e826ca20619..c625cf879f17 100644
--- a/sound/soc/intel/avs/debugfs.c
+++ b/sound/soc/intel/avs/debugfs.c
@@ -144,7 +144,7 @@ static ssize_t probe_points_write(struct file *file, const char __user *from, si
int ret;
ret = parse_int_array_user(from, count, (int **)&array);
- if (ret < 0)
+ if (ret)
return ret;
num_elems = *array;
@@ -181,7 +181,7 @@ static ssize_t probe_points_disconnect_write(struct file *file, const char __use
int ret;
ret = parse_int_array_user(from, count, (int **)&array);
- if (ret < 0)
+ if (ret)
return ret;
num_elems = *array;
@@ -369,7 +369,7 @@ static ssize_t trace_control_write(struct file *file, const char __user *from, s
int ret;
ret = parse_int_array_user(from, count, (int **)&array);
- if (ret < 0)
+ if (ret)
return ret;
num_elems = *array;
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 9/9] ASoC: Intel: avs: Include missing string.h
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (7 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 8/9] ASoC: Intel: avs: Simplify verification of parse_int_array() result Cezary Rojewski
@ 2025-05-30 14:10 ` Cezary Rojewski
2025-06-02 16:42 ` (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Mark Brown
2025-06-03 16:04 ` Mark Brown
10 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-05-30 14:10 UTC (permalink / raw)
To: broonie; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound, Cezary Rojewski
File loader.c utilizes strscpy().
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/loader.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/intel/avs/loader.c b/sound/soc/intel/avs/loader.c
index 138e4e9de5e3..353e343b1d28 100644
--- a/sound/soc/intel/avs/loader.c
+++ b/sound/soc/intel/avs/loader.c
@@ -9,6 +9,7 @@
#include <linux/firmware.h>
#include <linux/module.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <sound/hdaudio.h>
#include <sound/hdaudio_ext.h>
#include "avs.h"
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (8 preceding siblings ...)
2025-05-30 14:10 ` [PATCH 9/9] ASoC: Intel: avs: Include missing string.h Cezary Rojewski
@ 2025-06-02 16:42 ` Mark Brown
2025-06-03 10:57 ` Cezary Rojewski
2025-06-03 16:04 ` Mark Brown
10 siblings, 1 reply; 15+ messages in thread
From: Mark Brown @ 2025-06-02 16:42 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound
On Fri, 30 May 2025 16:10:16 +0200, Cezary Rojewski wrote:
> Medium range of fixes all avs-driver related. The most important fixes
> lead the way:
>
> 1. For ASoC-hda codec driver, existing RPM manipulation in
> hda_codec_probe_complete()'s error path is superfluous and leads to RPM
> usage count underflow if the probe exists early e.g.: build-controls
> operation fails.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/9] ASoC: codecs: hda: Fix RPM usage count underflow
commit: ff0045de4ee0288dec683690f66f2f369b7d3466
[2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX
commit: 9ad1f3cd0d60444c69948854c7e50d2a61b63755
[3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation
commit: 347c8d6db7c9d65d93ef226849b273823f54eaea
[4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw
commit: 2f78724d4f0c665c83e202e3989d5333a2cb1036
[5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints
commit: 9e3285be55e6c0829e451b4a341e3059da47ec9d
[6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints
commit: 5f342aeee2724d31046172eb5caab8e0e8afd57d
[7/9] ASoC: Intel: avs: Verify content returned by parse_int_array()
commit: 93e246b6769bdacb09cfff4ea0f00fe5ab4f0d7a
[9/9] ASoC: Intel: avs: Include missing string.h
commit: 38b1befc7a35a475d90ec32bfbe319f4412880a1
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes
2025-06-02 16:42 ` (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Mark Brown
@ 2025-06-03 10:57 ` Cezary Rojewski
2025-06-03 11:01 ` Mark Brown
0 siblings, 1 reply; 15+ messages in thread
From: Cezary Rojewski @ 2025-06-03 10:57 UTC (permalink / raw)
To: Mark Brown; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound
On 2025-06-02 6:42 PM, Mark Brown wrote:
> On Fri, 30 May 2025 16:10:16 +0200, Cezary Rojewski wrote:
>> Medium range of fixes all avs-driver related. The most important fixes
>> lead the way:
>>
>> 1. For ASoC-hda codec driver, existing RPM manipulation in
>> hda_codec_probe_complete()'s error path is superfluous and leads to RPM
>> usage count underflow if the probe exists early e.g.: build-controls
>> operation fails.
>>
>> [...]
>
> Applied to
>
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
>
> Thanks!
>
> [1/9] ASoC: codecs: hda: Fix RPM usage count underflow
> commit: ff0045de4ee0288dec683690f66f2f369b7d3466
> [2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX
> commit: 9ad1f3cd0d60444c69948854c7e50d2a61b63755
> [3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation
> commit: 347c8d6db7c9d65d93ef226849b273823f54eaea
> [4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw
> commit: 2f78724d4f0c665c83e202e3989d5333a2cb1036
> [5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints
> commit: 9e3285be55e6c0829e451b4a341e3059da47ec9d
> [6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints
> commit: 5f342aeee2724d31046172eb5caab8e0e8afd57d
> [7/9] ASoC: Intel: avs: Verify content returned by parse_int_array()
> commit: 93e246b6769bdacb09cfff4ea0f00fe5ab4f0d7a
> [9/9] ASoC: Intel: avs: Include missing string.h
> commit: 38b1befc7a35a475d90ec32bfbe319f4412880a1
I've just checked broonie/sound/for-next and it seems the status of the
branch matches above - patch 8/9 is _missing_.
At the same time, I do not see any reply with reasoning behind skipping
the patch. What can I do to help address that?
>
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
>
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
>
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
>
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
>
> Thanks,
> Mark
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes
2025-06-03 10:57 ` Cezary Rojewski
@ 2025-06-03 11:01 ` Mark Brown
2025-06-03 11:03 ` Cezary Rojewski
0 siblings, 1 reply; 15+ messages in thread
From: Mark Brown @ 2025-06-03 11:01 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound
[-- Attachment #1: Type: text/plain, Size: 434 bytes --]
On Tue, Jun 03, 2025 at 12:57:09PM +0200, Cezary Rojewski wrote:
> I've just checked broonie/sound/for-next and it seems the status of the
> branch matches above - patch 8/9 is _missing_.
> At the same time, I do not see any reply with reasoning behind skipping the
> patch. What can I do to help address that?
It was waiting for after the merge window, though largely a fat finger
as I intended to skip patch 9 (adding string.h).
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes
2025-06-03 11:01 ` Mark Brown
@ 2025-06-03 11:03 ` Cezary Rojewski
0 siblings, 0 replies; 15+ messages in thread
From: Cezary Rojewski @ 2025-06-03 11:03 UTC (permalink / raw)
To: Mark Brown; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound
On 2025-06-03 1:01 PM, Mark Brown wrote:
> On Tue, Jun 03, 2025 at 12:57:09PM +0200, Cezary Rojewski wrote:
>
>> I've just checked broonie/sound/for-next and it seems the status of the
>> branch matches above - patch 8/9 is _missing_.
>
>> At the same time, I do not see any reply with reasoning behind skipping the
>> patch. What can I do to help address that?
>
> It was waiting for after the merge window, though largely a fat finger
> as I intended to skip patch 9 (adding string.h).
It's clear then. Thank you for a quick reply, Mark!
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes
2025-05-30 14:10 [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Cezary Rojewski
` (9 preceding siblings ...)
2025-06-02 16:42 ` (subset) [PATCH 0/9] ASoC: Intel: avs: Set of functional fixes Mark Brown
@ 2025-06-03 16:04 ` Mark Brown
10 siblings, 0 replies; 15+ messages in thread
From: Mark Brown @ 2025-06-03 16:04 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: tiwai, perex, amadeuszx.slawinski, linux-sound
On Fri, 30 May 2025 16:10:16 +0200, Cezary Rojewski wrote:
> Medium range of fixes all avs-driver related. The most important fixes
> lead the way:
>
> 1. For ASoC-hda codec driver, existing RPM manipulation in
> hda_codec_probe_complete()'s error path is superfluous and leads to RPM
> usage count underflow if the probe exists early e.g.: build-controls
> operation fails.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/9] ASoC: codecs: hda: Fix RPM usage count underflow
commit: ff0045de4ee0288dec683690f66f2f369b7d3466
[2/9] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX
commit: 9ad1f3cd0d60444c69948854c7e50d2a61b63755
[3/9] ASoC: Intel: avs: Fix PPLCxFMT calculation
commit: 347c8d6db7c9d65d93ef226849b273823f54eaea
[4/9] ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw
commit: 2f78724d4f0c665c83e202e3989d5333a2cb1036
[5/9] ASoC: Intel: avs: Fix paths in MODULE_FIRMWARE hints
commit: 9e3285be55e6c0829e451b4a341e3059da47ec9d
[6/9] ASoC: Intel: avs: Verify kcalloc() status when setting constraints
commit: 5f342aeee2724d31046172eb5caab8e0e8afd57d
[7/9] ASoC: Intel: avs: Verify content returned by parse_int_array()
commit: 93e246b6769bdacb09cfff4ea0f00fe5ab4f0d7a
[8/9] ASoC: Intel: avs: Simplify verification of parse_int_array() result
commit: 065a651e2fb35209cbfe6fc5f1ababf92b66d4a4
[9/9] ASoC: Intel: avs: Include missing string.h
commit: 38b1befc7a35a475d90ec32bfbe319f4412880a1
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 15+ messages in thread