提交 0aebe40b 编写于 作者: S Shreyas NC 提交者: Vinod Koul

soundwire: Fix duplicate stream state assignment

For a SoundWire stream it is expected that a Slave is added to the
stream before Master is added.

So, move the stream state to CONFIGURED after the first Slave is
added and remove the stream state assignment for Master add.
Along with these changes, add additional comments to explain the same.
Signed-off-by: NShreyas NC <shreyas.nc@intel.com>
Acked-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: NVinod Koul <vkoul@kernel.org>
上级 5b394b2d
......@@ -1123,8 +1123,6 @@ int sdw_stream_add_master(struct sdw_bus *bus,
if (ret)
goto stream_error;
stream->state = SDW_STREAM_CONFIGURED;
stream_error:
sdw_release_master_stream(stream);
error:
......@@ -1141,6 +1139,10 @@ EXPORT_SYMBOL(sdw_stream_add_master);
* @stream: SoundWire stream
* @port_config: Port configuration for audio stream
* @num_ports: Number of ports
*
* It is expected that Slave is added before adding Master
* to the Stream.
*
*/
int sdw_stream_add_slave(struct sdw_slave *slave,
struct sdw_stream_config *stream_config,
......@@ -1186,6 +1188,12 @@ int sdw_stream_add_slave(struct sdw_slave *slave,
if (ret)
goto stream_error;
/*
* Change stream state to CONFIGURED on first Slave add.
* Bus is not aware of number of Slave(s) in a stream at this
* point so cannot depend on all Slave(s) to be added in order to
* change stream state to CONFIGURED.
*/
stream->state = SDW_STREAM_CONFIGURED;
goto error;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册