* [PATCH 01/24] ASoC: amd: acp: Fix .close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 02/24] ASoC: amd: ps: Fix acp63_pdm_dma_close() " phucduc.bui
` (22 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp_dma_open(). ASoC only marks the component as opened when
.open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 623621a9f9e1 ("ASoC: amd: Add common framework to support I2S on ACP SOC")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/acp/acp-platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/acp/acp-platform.c b/sound/soc/amd/acp/acp-platform.c
index 6b1e18b31c1c..ba6dfe8fb6b7 100644
--- a/sound/soc/amd/acp/acp-platform.c
+++ b/sound/soc/amd/acp/acp-platform.c
@@ -248,7 +248,7 @@ static int acp_dma_open(struct snd_soc_component *component, struct snd_pcm_subs
list_add_tail(&stream->list, &chip->stream_list);
spin_unlock_irq(&chip->acp_lock);
- return ret;
+ return 0;
}
static int acp_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 02/24] ASoC: amd: ps: Fix acp63_pdm_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
2026-10-08 10:38 ` [PATCH 01/24] ASoC: amd: acp: Fix .close() being skipped on rollback phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 03/24] ASoC: amd: ps: Fix acp63_sdw_dma_close() " phucduc.bui
` (21 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp63_pdm_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 5137305662ef ("ASoC: amd: add acp6.2 pdm driver dma ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/ps/ps-pdm-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c
index 04c014349347..28e0686e9373 100644
--- a/sound/soc/amd/ps/ps-pdm-dma.c
+++ b/sound/soc/amd/ps/ps-pdm-dma.c
@@ -211,7 +211,7 @@ static int acp63_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp63_base = adata->acp63_base;
runtime->private_data = pdm_data;
- return ret;
+ return 0;
}
static int acp63_pdm_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 03/24] ASoC: amd: ps: Fix acp63_sdw_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
2026-10-08 10:38 ` [PATCH 01/24] ASoC: amd: acp: Fix .close() being skipped on rollback phucduc.bui
2026-10-08 10:38 ` [PATCH 02/24] ASoC: amd: ps: Fix acp63_pdm_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 04/24] ASoC: amd: raven: Fix acp3x_dma_close() " phucduc.bui
` (20 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp63_sdw_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: f722917350ee ("ASoC: amd: ps: add SoundWire dma driver dma ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/ps/ps-sdw-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c
index f27ebbd21379..553fe11a2e50 100644
--- a/sound/soc/amd/ps/ps-sdw-dma.c
+++ b/sound/soc/amd/ps/ps-sdw-dma.c
@@ -337,7 +337,7 @@ static int acp63_sdw_dma_open(struct snd_soc_component *component,
stream->stream_id = cpu_dai->id;
stream->instance = amd_manager->instance;
runtime->private_data = stream;
- return ret;
+ return 0;
}
static int acp63_sdw_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 04/24] ASoC: amd: raven: Fix acp3x_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (2 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 03/24] ASoC: amd: ps: Fix acp63_sdw_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 05/24] ASoC: amd: renoir: Fix acp_pdm_dma_close() " phucduc.bui
` (19 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp3x_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 703a6e22888b ("ASoC: amd: Enabling I2S instance in DMA and DAI")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/raven/acp3x-pcm-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
index 37ea5c572eb9..072f3dc35d40 100644
--- a/sound/soc/amd/raven/acp3x-pcm-dma.c
+++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
@@ -237,7 +237,7 @@ static int acp3x_dma_open(struct snd_soc_component *component,
i2s_data->acp3x_base = adata->acp3x_base;
runtime->private_data = i2s_data;
- return ret;
+ return 0;
}
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 05/24] ASoC: amd: renoir: Fix acp_pdm_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (3 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 04/24] ASoC: amd: raven: Fix acp3x_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 06/24] ASoC: amd: vangogh: Fix acp5x_dma_close() " phucduc.bui
` (18 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp_pdm_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 4a767b1d039a ("ASoC: amd: add acp3x pdm driver dma ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/renoir/acp3x-pdm-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c
index 3f59b753243d..c0481a9ba858 100644
--- a/sound/soc/amd/renoir/acp3x-pdm-dma.c
+++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c
@@ -233,7 +233,7 @@ static int acp_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp_base = adata->acp_base;
runtime->private_data = pdm_data;
- return ret;
+ return 0;
}
static int acp_pdm_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 06/24] ASoC: amd: vangogh: Fix acp5x_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (4 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 05/24] ASoC: amd: renoir: Fix acp_pdm_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 07/24] ASoC: amd: yc: Fix acp6x_pdm_dma_close() " phucduc.bui
` (17 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp5x_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: cab396d8b22c ("ASoC: amd: add ACP5x pcm dma driver ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/vangogh/acp5x-pcm-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
index 831e30e9b042..33d59d992ee0 100644
--- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c
+++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
@@ -231,7 +231,7 @@ static int acp5x_dma_open(struct snd_soc_component *component,
}
i2s_data->acp5x_base = adata->acp5x_base;
runtime->private_data = i2s_data;
- return ret;
+ return 0;
}
static int acp5x_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 07/24] ASoC: amd: yc: Fix acp6x_pdm_dma_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (5 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 06/24] ASoC: amd: vangogh: Fix acp5x_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 08/24] ASoC: apple: mca: Ensure the DAI is marked as started on success phucduc.bui
` (16 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from acp6x_pdm_dma_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: ceb4fcc13ae5 ("ASoC: amd: add acp6x pdm driver dma ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/yc/acp6x-pdm-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c
index 40c4d833f4ed..afa9f66533e3 100644
--- a/sound/soc/amd/yc/acp6x-pdm-dma.c
+++ b/sound/soc/amd/yc/acp6x-pdm-dma.c
@@ -209,7 +209,7 @@ static int acp6x_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp6x_base = adata->acp6x_base;
runtime->private_data = pdm_data;
- return ret;
+ return 0;
}
static int acp6x_pdm_dma_hw_params(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 08/24] ASoC: apple: mca: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (6 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 07/24] ASoC: amd: yc: Fix acp6x_pdm_dma_close() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 09/24] ASoC: atmel: atmel-pcm-pdc: Fix atmel_pcm_close() being skipped on rollback phucduc.bui
` (15 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from mca_fe_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as mca_fe_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/apple/mca.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/apple/mca.c b/sound/soc/apple/mca.c
index be702b2942a5..3585432ad49b 100644
--- a/sound/soc/apple/mca.c
+++ b/sound/soc/apple/mca.c
@@ -516,6 +516,7 @@ static int mca_fe_startup(struct snd_pcm_substream *substream,
{
struct mca_cluster *cl = mca_dai_to_cluster(dai);
unsigned int mask, nchannels;
+ int ret;
if (cl->tdm_slots) {
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
@@ -528,9 +529,13 @@ static int mca_fe_startup(struct snd_pcm_substream *substream,
nchannels = 2;
}
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_CHANNELS,
- 1, nchannels);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_CHANNELS,
+ 1, nchannels);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int mca_fe_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 09/24] ASoC: atmel: atmel-pcm-pdc: Fix atmel_pcm_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (7 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 08/24] ASoC: apple: mca: Ensure the DAI is marked as started on success phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success phucduc.bui
` (14 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from atmel_pcm_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 92dfa6198623 ("ASoC: atmel-pcm: split into two file")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/atmel/atmel-pcm-pdc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/atmel/atmel-pcm-pdc.c b/sound/soc/atmel/atmel-pcm-pdc.c
index 374f93fa6e0b..552bfa30d4ba 100644
--- a/sound/soc/atmel/atmel-pcm-pdc.c
+++ b/sound/soc/atmel/atmel-pcm-pdc.c
@@ -295,6 +295,8 @@ static int atmel_pcm_open(struct snd_soc_component *component,
}
runtime->private_data = prtd;
+ return 0;
+
out:
return ret;
}
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (8 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 09/24] ASoC: atmel: atmel-pcm-pdc: Fix atmel_pcm_close() being skipped on rollback phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:47 ` Richard Fitzgerald
2026-10-08 10:38 ` [PATCH 11/24] ASoC: codecs: nau8325: " phucduc.bui
` (13 subsequent siblings)
23 siblings, 1 reply; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from cs42l42_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as cs42l42_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/cs42l42.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/cs42l42.c b/sound/soc/codecs/cs42l42.c
index b5d69d5516a6..f6e4bf6206b7 100644
--- a/sound/soc/codecs/cs42l42.c
+++ b/sound/soc/codecs/cs42l42.c
@@ -890,6 +890,7 @@ static int cs42l42_dai_startup(struct snd_pcm_substream *substream, struct snd_s
{
struct snd_soc_component *component = dai->component;
struct cs42l42_private *cs42l42 = snd_soc_component_get_drvdata(component);
+ int ret;
/*
* Sample rates < 44.1 kHz would produce an out-of-range SCLK with
@@ -900,9 +901,13 @@ static int cs42l42_dai_startup(struct snd_pcm_substream *substream, struct snd_s
return 0;
/* Machine driver has not set a SCLK, limit bottom end to 44.1 kHz */
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 44100, 96000);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 44100, 96000);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int cs42l42_pcm_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success
2026-10-08 10:38 ` [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success phucduc.bui
@ 2026-10-08 10:47 ` Richard Fitzgerald
2026-10-08 11:00 ` Bui Duc Phuc
0 siblings, 1 reply; 27+ messages in thread
From: Richard Fitzgerald @ 2026-10-08 10:47 UTC (permalink / raw)
To: phucduc.bui, Vijendar Mukunda, Venkata Prasad Potturu,
Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
povik+lin, Claudiu Beznea, Andrei Simion, Nicolas Ferre,
Alexandre Belloni, David Rhodes, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel
On 08/10/2026 11:38 am, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> snd_pcm_hw_constraint_minmax() may return 1, which is then returned
> from cs42l42_dai_startup(). ASoC only marks the DAI as started when
> .startup() returns 0.
Is there any reason why we can't change ASoC to mark the DAI as started
if return is not an error?
int snd_soc_dai_startup(struct snd_soc_dai *dai,
struct snd_pcm_substream *substream)
{
<SNIP>
if (ret < 0)
soc_dai_ret(dai, ret);
soc_dai_mark_push(dai, substream, startup);
return soc_dai_ret(dai, 0);
}
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success
2026-10-08 10:47 ` Richard Fitzgerald
@ 2026-10-08 11:00 ` Bui Duc Phuc
0 siblings, 0 replies; 27+ messages in thread
From: Bui Duc Phuc @ 2026-10-08 11:00 UTC (permalink / raw)
To: Richard Fitzgerald
Cc: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Shengjiu Wang, Xiubo Li, Fabio Estevam,
Nicolin Chen, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Cezary Rojewski, Peter Ujfalusi, Bard Liao, Kai Vehmanen,
Pierre-Louis Bossart, Kuninori Morimoto, Geert Uytterhoeven,
Magnus Damm, Biju Das, Lad Prabhakar, Heiko Stuebner, Kees Cook,
Syed Saba Kareem, wangdicheng, Chris Bainbridge, Linus Walleij,
Charles Keepax, Neo Chang, Krzysztof Kozlowski, u.kleine-koenig,
Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel
Hi Richard,
Thank you for your review.
> Is there any reason why we can't change ASoC to mark the DAI as started
> if return is not an error?
>
>
> int snd_soc_dai_startup(struct snd_soc_dai *dai,
> struct snd_pcm_substream *substream)
> {
> <SNIP>
>
> if (ret < 0)
> soc_dai_ret(dai, ret);
>
> soc_dai_mark_push(dai, substream, startup);
>
> return soc_dai_ret(dai, 0);
> }
I confirmed this with the maintainer here:
https://lore.kernel.org/all/CAABR9nEXM1OSnV6L4=N1YCbtWn5yMNr+OMEZ4p8h3WMaQXbgmA@mail.gmail.com/
It seems that the other ASoC callbacks consistently use 0 to indicate
success. The other call sites also handle the return values correctly.
The issue is limited to callbacks that directly return the result of
snd_pcm_hw_constraint_minmax() or snd_pcm_hw_constraint_integer(),
where the positive return value was overlooked.
Best regards,
Phuc
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 11/24] ASoC: codecs: nau8325: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (9 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 10/24] ASoC: codecs: cs42l42: Ensure the DAI is marked as started on success phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 12/24] ASoC: codecs: nau8540: " phucduc.bui
` (12 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from nau8325_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as nau8325_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/nau8325.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8325.c b/sound/soc/codecs/nau8325.c
index 2c95ed00a681..0902a7d7730d 100644
--- a/sound/soc/codecs/nau8325.c
+++ b/sound/soc/codecs/nau8325.c
@@ -489,14 +489,19 @@ static int nau8325_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct nau8325 *nau8325 = snd_soc_component_get_drvdata(component);
const struct nau8325_osr_attr *osr;
+ int ret;
osr = nau8325_get_osr(nau8325);
if (!osr || !osr->osr)
return -EINVAL;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 0, CLK_DA_AD_MAX / osr->osr);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 0, CLK_DA_AD_MAX / osr->osr);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int nau8325_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 12/24] ASoC: codecs: nau8540: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (10 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 11/24] ASoC: codecs: nau8325: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 13/24] ASoC: codecs: nau8821: " phucduc.bui
` (11 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from nau8540_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as nau8540_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/nau8540.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8540.c b/sound/soc/codecs/nau8540.c
index d4211a76b096..9484388ab262 100644
--- a/sound/soc/codecs/nau8540.c
+++ b/sound/soc/codecs/nau8540.c
@@ -419,14 +419,19 @@ static int nau8540_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
const struct nau8540_osr_attr *osr;
+ int ret;
osr = nau8540_get_osr(nau8540);
if (!osr || !osr->osr)
return -EINVAL;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 0, CLK_ADC_MAX / osr->osr);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 0, CLK_ADC_MAX / osr->osr);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int nau8540_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 13/24] ASoC: codecs: nau8821: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (11 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 12/24] ASoC: codecs: nau8540: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 14/24] ASoC: codecs: nau8824: " phucduc.bui
` (10 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from nau8821_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as nau8821_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/nau8821.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8821.c b/sound/soc/codecs/nau8821.c
index ecadbaee1037..935df063822c 100644
--- a/sound/soc/codecs/nau8821.c
+++ b/sound/soc/codecs/nau8821.c
@@ -829,14 +829,19 @@ static int nau8821_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct nau8821 *nau8821 = snd_soc_component_get_drvdata(component);
const struct nau8821_osr_attr *osr;
+ int ret;
osr = nau8821_get_osr(nau8821, substream->stream);
if (!osr || !osr->osr)
return -EINVAL;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 0, CLK_DA_AD_MAX / osr->osr);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 0, CLK_DA_AD_MAX / osr->osr);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int nau8821_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 14/24] ASoC: codecs: nau8824: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (12 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 13/24] ASoC: codecs: nau8821: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 15/24] ASoC: codecs: nau8825: " phucduc.bui
` (9 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from nau8824_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as nau8824_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/nau8824.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8824.c b/sound/soc/codecs/nau8824.c
index 853eb9472af9..c89889aa420e 100644
--- a/sound/soc/codecs/nau8824.c
+++ b/sound/soc/codecs/nau8824.c
@@ -1061,14 +1061,19 @@ static int nau8824_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct nau8824 *nau8824 = snd_soc_component_get_drvdata(component);
const struct nau8824_osr_attr *osr;
+ int ret;
osr = nau8824_get_osr(nau8824, substream->stream);
if (!osr || !osr->osr)
return -EINVAL;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 0, CLK_DA_AD_MAX / osr->osr);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 0, CLK_DA_AD_MAX / osr->osr);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int nau8824_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 15/24] ASoC: codecs: nau8825: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (13 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 14/24] ASoC: codecs: nau8824: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 16/24] ASoC: codecs: wm8580: " phucduc.bui
` (8 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from nau8825_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as nau8825_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/nau8825.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8825.c b/sound/soc/codecs/nau8825.c
index 63d927f31409..10bbfbb460b1 100644
--- a/sound/soc/codecs/nau8825.c
+++ b/sound/soc/codecs/nau8825.c
@@ -1261,14 +1261,19 @@ static int nau8825_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct nau8825 *nau8825 = snd_soc_component_get_drvdata(component);
const struct nau8825_osr_attr *osr;
+ int ret;
osr = nau8825_get_osr(nau8825, substream->stream);
if (!osr || !osr->osr)
return -EINVAL;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- 0, CLK_DA_AD_MAX / osr->osr);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_RATE,
+ 0, CLK_DA_AD_MAX / osr->osr);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int nau8825_hw_params(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 16/24] ASoC: codecs: wm8580: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (14 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 15/24] ASoC: codecs: nau8825: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 17/24] ASoC: codecs: wm8782: " phucduc.bui
` (7 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from wm8580_playback_startup(). ASoC only marks the DAI as started
when .startup() returns 0.
This currently has no functional impact, as wm8580_dai_ops_playback
has no .shutdown() callback. Still, return 0 explicitly on success
to match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/wm8580.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index 9bc5d1e795dc..5343d445c322 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -852,9 +852,15 @@ static int wm8580_playback_startup(struct snd_pcm_substream *substream,
{
struct snd_soc_component *component = dai->component;
struct wm8580_priv *wm8580 = snd_soc_component_get_drvdata(component);
+ int ret;
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_CHANNELS, 1, wm8580->drvdata->num_dacs * 2);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_CHANNELS, 1,
+ wm8580->drvdata->num_dacs * 2);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
#define WM8580_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 17/24] ASoC: codecs: wm8782: Ensure the DAI is marked as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (15 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 16/24] ASoC: codecs: wm8580: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 18/24] ASoC: imx-pcm-rpmsg: Fix imx_rpmsg_pcm_close() being skipped on rollback phucduc.bui
` (6 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from wm8782_dai_startup(). ASoC only marks the DAI as started when
.startup() returns 0.
This currently has no functional impact, as wm8782_dai_ops has no
.shutdown() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the DAI is correctly marked as
started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/wm8782.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/wm8782.c b/sound/soc/codecs/wm8782.c
index 3a2acdfa9b85..767251ac4f89 100644
--- a/sound/soc/codecs/wm8782.c
+++ b/sound/soc/codecs/wm8782.c
@@ -39,9 +39,14 @@ static int wm8782_dai_startup(struct snd_pcm_substream *sub, struct snd_soc_dai
struct snd_pcm_runtime *runtime = sub->runtime;
struct wm8782_priv *priv =
snd_soc_component_get_drvdata(dai->component);
+ int ret;
- return snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE,
+ ret = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE,
8000, priv->max_rate);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static const struct snd_soc_dapm_widget wm8782_dapm_widgets[] = {
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 18/24] ASoC: imx-pcm-rpmsg: Fix imx_rpmsg_pcm_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (16 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 17/24] ASoC: codecs: wm8782: " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 19/24] ASoC: intel: atom: Fix .shutdown() " phucduc.bui
` (5 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from imx_rpmsg_pcm_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 3c00eceb2a53 ("ASoC: imx-pcm-rpmsg: Add platform driver for audio base on rpmsg")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/fsl/imx-pcm-rpmsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm-rpmsg.c
index 7086fb7fc1eb..30e75fee5175 100644
--- a/sound/soc/fsl/imx-pcm-rpmsg.c
+++ b/sound/soc/fsl/imx-pcm-rpmsg.c
@@ -269,7 +269,7 @@ static int imx_rpmsg_pcm_open(struct snd_soc_component *component,
info->stream_timer[substream->stream].substream = substream;
timer_setup(&info->stream_timer[substream->stream].timer,
imx_rpmsg_timer_callback, 0);
- return ret;
+ return 0;
}
static int imx_rpmsg_pcm_close(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 19/24] ASoC: intel: atom: Fix .shutdown() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (17 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 18/24] ASoC: imx-pcm-rpmsg: Fix imx_rpmsg_pcm_close() being skipped on rollback phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 20/24] ASoC: renesas: fsi: Ensure the component is marked as opened on success phucduc.bui
` (4 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from sst_media_open(). ASoC only marks the DAI as started when
.startup() returns 0, so .shutdown() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: 4889a8a73f65 ("ASoC: intel: atom: Use __free(kfree) for stream pointer")
Fixes: 6cc0f4e63994 ("ASoC: Intel: mfld_pcm: move stream handling to dai_ops")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/intel/atom/sst-mfld-platform-pcm.c b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
index a4c8cbfba096..db1fb3b26909 100644
--- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
+++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
@@ -341,7 +341,7 @@ static int sst_media_open(struct snd_pcm_substream *substream,
stream = NULL;
- return ret_val;
+ return 0;
}
static void sst_media_close(struct snd_pcm_substream *substream,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 20/24] ASoC: renesas: fsi: Ensure the component is marked as opened on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (18 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 19/24] ASoC: intel: atom: Fix .shutdown() " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 21/24] ASoC: renesas: msiof: Fix msiof_close() being skipped on rollback phucduc.bui
` (3 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from fsi_pcm_open(). ASoC only marks the component as opened when
.open() returns 0.
This currently has no functional impact, as fsi_soc_component has no
.close() callback. Still, return 0 explicitly on success to
match what ASoC expects and ensure the component is correctly marked
as opened.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/fsi.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/soc/renesas/fsi.c b/sound/soc/renesas/fsi.c
index 23b7e63596d3..88618e4b052d 100644
--- a/sound/soc/renesas/fsi.c
+++ b/sound/soc/renesas/fsi.c
@@ -1811,14 +1811,16 @@ static int fsi_pcm_open(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- int ret = 0;
+ int ret;
snd_soc_set_runtime_hwparams(substream, &fsi_pcm_hardware);
ret = snd_pcm_hw_constraint_integer(runtime,
SNDRV_PCM_HW_PARAM_PERIODS);
+ if (ret < 0)
+ return ret;
- return ret;
+ return 0;
}
static snd_pcm_uframes_t fsi_pointer(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 21/24] ASoC: renesas: msiof: Fix msiof_close() being skipped on rollback
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (19 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 20/24] ASoC: renesas: fsi: Ensure the component is marked as opened on success phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 22/24] ASoC: renesas: rz-ssi: Ensure the component is marked as opened on success phucduc.bui
` (2 subsequent siblings)
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from msiof_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.
Return 0 explicitly on success.
Fixes: c61caec22820 ("ASoC: renesas: add MSIOF sound support")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/rcar/msiof.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/soc/renesas/rcar/msiof.c b/sound/soc/renesas/rcar/msiof.c
index 128543fc4fc9..9fead9a22cdc 100644
--- a/sound/soc/renesas/rcar/msiof.c
+++ b/sound/soc/renesas/rcar/msiof.c
@@ -427,10 +427,12 @@ static int msiof_open(struct snd_soc_component *component,
ret = snd_pcm_hw_constraint_integer(substream->runtime, SNDRV_PCM_HW_PARAM_PERIODS);
open_err_dma:
- if (ret < 0)
+ if (ret < 0) {
dma_release_channel(chan);
+ return ret;
+ }
- return ret;
+ return 0;
}
static int msiof_close(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 22/24] ASoC: renesas: rz-ssi: Ensure the component is marked as opened on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (20 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 21/24] ASoC: renesas: msiof: Fix msiof_close() being skipped on rollback phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 23/24] ASoC: rockchip: rk3399_gru_sound: Mark the link as started " phucduc.bui
2026-10-08 10:38 ` [PATCH 24/24] ASoC: rockchip: rockchip_max98090: " phucduc.bui
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() may return 1, which is then returned
from rz_ssi_pcm_open_xx(). ASoC only marks the component as opened when
.open() returns 0.
This currently has no functional impact, as the component driver has no
.close() callback. Still, return 0 explicitly on success to match what
ASoC expects and ensure the component is correctly marked as opened.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/rz-ssi.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c
index b1587f499cb8..2e297f721bb6 100644
--- a/sound/soc/renesas/rz-ssi.c
+++ b/sound/soc/renesas/rz-ssi.c
@@ -937,17 +937,29 @@ static const struct snd_pcm_hardware rz_ssi_pcm_hardware = {
static int rz_ssi_pcm_open_pio(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{
+ int ret;
+
snd_soc_set_runtime_hwparams(substream, &rz_ssi_pcm_hardware);
- return snd_pcm_hw_constraint_integer(substream->runtime,
+ ret = snd_pcm_hw_constraint_integer(substream->runtime,
SNDRV_PCM_HW_PARAM_PERIODS);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int rz_ssi_pcm_open_dma(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{
- return snd_pcm_hw_constraint_integer(substream->runtime,
- SNDRV_PCM_HW_PARAM_PERIODS);
+ int ret;
+
+ ret = snd_pcm_hw_constraint_integer(substream->runtime,
+ SNDRV_PCM_HW_PARAM_PERIODS);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static snd_pcm_uframes_t rz_ssi_pcm_pointer(struct snd_soc_component *component,
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 23/24] ASoC: rockchip: rk3399_gru_sound: Mark the link as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (21 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 22/24] ASoC: renesas: rz-ssi: Ensure the component is marked as opened on success phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
2026-10-08 10:38 ` [PATCH 24/24] ASoC: rockchip: rockchip_max98090: " phucduc.bui
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from rockchip_sound_startup(). ASoC only marks the DAI link as started
when .startup() returns 0.
This currently has no functional impact, as there is no .shutdown()
callback in the relevant snd_soc_ops. Still, return 0 explicitly on
success to match what ASoC expects and ensure the DAI link is correctly
marked as started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/rockchip/rk3399_gru_sound.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
index 04e7bed8275d..0ec80a4b8c59 100644
--- a/sound/soc/rockchip/rk3399_gru_sound.c
+++ b/sound/soc/rockchip/rk3399_gru_sound.c
@@ -258,10 +258,15 @@ static int rockchip_sound_dmic_hw_params(struct snd_pcm_substream *substream,
static int rockchip_sound_startup(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
+ int ret;
runtime->hw.formats = SNDRV_PCM_FMTBIT_S16_LE;
- return snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE,
- 8000, 96000);
+ ret = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE,
+ 8000, 96000);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static const struct snd_soc_ops rockchip_sound_max98357a_ops = {
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread* [PATCH 24/24] ASoC: rockchip: rockchip_max98090: Mark the link as started on success
2026-10-08 10:38 [PATCH 00/24] ASoC: Fix constraint return value handling phucduc.bui
` (22 preceding siblings ...)
2026-10-08 10:38 ` [PATCH 23/24] ASoC: rockchip: rk3399_gru_sound: Mark the link as started " phucduc.bui
@ 2026-10-08 10:38 ` phucduc.bui
23 siblings, 0 replies; 27+ messages in thread
From: phucduc.bui @ 2026-10-08 10:38 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: Kees Cook, Syed Saba Kareem, wangdicheng, Chris Bainbridge,
Linus Walleij, Charles Keepax, Neo Chang, Krzysztof Kozlowski,
u.kleine-koenig, Pengpeng Hou, Cristian Ciocaltea, Hemanth Selam,
Md Shofiqul Islam, Bjorn Helgaas, Zain Aboobacker,
Sang-Heon Jeon, Ajit Kumar Pandey, Ravulapati Vishnu vardhan rao,
Bo Shen, Vinod Koul, linux-sound, asahi, linux-arm-kernel,
patches, linuxppc-dev, imx, linux-rockchip, linux-renesas-soc,
linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_minmax() may return 1, which is then returned
from rk_aif1_startup(). ASoC only marks the DAI link as started
when .startup() returns 0.
This currently has no functional impact, as there is no .shutdown()
callback in the relevant snd_soc_ops. Still, return 0 explicitly on
success to match what ASoC expects and ensure the DAI link is correctly
marked as started.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/rockchip/rockchip_max98090.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
index 426506a8e18e..d54c36682415 100644
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -191,12 +191,18 @@ static int rk_aif1_hw_params(struct snd_pcm_substream *substream,
static int rk_aif1_startup(struct snd_pcm_substream *substream)
{
+ int ret;
/*
* Set period size to 240 because pl330 has issue
* dealing with larger period in stress testing.
*/
- return snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_PERIOD_SIZE, 240, 240);
+ ret = snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
+ 240, 240);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static const struct snd_soc_ops rk_aif1_ops = {
--
2.43.0
^ permalink raw reply [flat|nested] 27+ messages in thread