4.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shreyas NC shreyas.nc@intel.com
[ Upstream commit 3fef1a2259c556cce34df2791688cb3001f81c92 ]
In sdw_stream_add_master() after the Master ports are configured, the stream is released incorrectly.
So, fix it by avoiding stream release after configuring the Master for the stream. While at it, rename the label appropriately.
Signed-off-by: Shreyas NC shreyas.nc@intel.com Acked-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul vkoul@kernel.org Signed-off-by: Sasha Levin alexander.levin@microsoft.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/soundwire/stream.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -1112,7 +1112,7 @@ int sdw_stream_add_master(struct sdw_bus "Master runtime config failed for stream:%s", stream->name); ret = -ENOMEM; - goto error; + goto unlock; }
ret = sdw_config_stream(bus->dev, stream, stream_config, false); @@ -1123,9 +1123,11 @@ int sdw_stream_add_master(struct sdw_bus if (ret) goto stream_error;
+ goto unlock; + stream_error: sdw_release_master_stream(stream); -error: +unlock: mutex_unlock(&bus->bus_lock); return ret; }