diff mbox series

[1/4] soundwire: stream: Add missing clear of alloc_slave_rt

Message ID 20230601161622.1808135-1-ckeepax@opensource.cirrus.com (mailing list archive)
State Superseded
Headers show
Series [1/4] soundwire: stream: Add missing clear of alloc_slave_rt | expand

Commit Message

Charles Keepax June 1, 2023, 4:16 p.m. UTC
The current path that skips allocating the slave runtime does not clear
the alloc_slave_rt flag, this is clearly incorrect. Add the missing
clear, so the runtime won't be erroneously cleaned up.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
 drivers/soundwire/stream.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Pierre-Louis Bossart June 1, 2023, 4:43 p.m. UTC | #1
On 6/1/23 11:16, Charles Keepax wrote:
> The current path that skips allocating the slave runtime does not clear
> the alloc_slave_rt flag, this is clearly incorrect. Add the missing
> clear, so the runtime won't be erroneously cleaned up.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Sounds about right, thanks

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

> ---
>  drivers/soundwire/stream.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
> index c2191c07442b0..379228f221869 100644
> --- a/drivers/soundwire/stream.c
> +++ b/drivers/soundwire/stream.c
> @@ -2021,8 +2021,10 @@ int sdw_stream_add_slave(struct sdw_slave *slave,
>  
>  skip_alloc_master_rt:
>  	s_rt = sdw_slave_rt_find(slave, stream);
> -	if (s_rt)
> +	if (s_rt) {
> +		alloc_slave_rt = false;
>  		goto skip_alloc_slave_rt;
> +	}
>  
>  	s_rt = sdw_slave_rt_alloc(slave, m_rt);
>  	if (!s_rt) {
diff mbox series

Patch

diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index c2191c07442b0..379228f221869 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -2021,8 +2021,10 @@  int sdw_stream_add_slave(struct sdw_slave *slave,
 
 skip_alloc_master_rt:
 	s_rt = sdw_slave_rt_find(slave, stream);
-	if (s_rt)
+	if (s_rt) {
+		alloc_slave_rt = false;
 		goto skip_alloc_slave_rt;
+	}
 
 	s_rt = sdw_slave_rt_alloc(slave, m_rt);
 	if (!s_rt) {