diff mbox

[v5,1/9] soundwire: Fix duplicate stream state assignment

Message ID 1530791196-15483-2-git-send-email-shreyas.nc@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Shreyas NC July 5, 2018, 11:46 a.m. UTC
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: Shreyas NC <shreyas.nc@intel.com>
---
 drivers/soundwire/stream.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

Comments

Pierre-Louis Bossart July 9, 2018, 11:41 p.m. UTC | #1
On 07/05/2018 06:46 AM, Shreyas NC wrote:
> 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: Shreyas NC <shreyas.nc@intel.com>
> ---
>   drivers/soundwire/stream.c | 11 +++++++++--
>   1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
> index 8974a0f..37603c3 100644
> --- a/drivers/soundwire/stream.c
> +++ b/drivers/soundwire/stream.c
> @@ -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,11 @@ int sdw_stream_add_slave(struct sdw_slave *slave,
>   	if (ret)
>   		goto stream_error;
>   
> +	/*
> +	 * Change stream state to CONFIGURED on first Slave add.
> +	 * We don't know number of Slaves in a stream currently so cant
can't or cannot.
> +	 * wait for all Slaves to be added
> +	 */
>   	stream->state = SDW_STREAM_CONFIGURED;
>   	goto error;
>
Sanyog Kale July 10, 2018, 5:03 p.m. UTC | #2
On Mon, Jul 09, 2018 at 06:41:40PM -0500, Pierre-Louis Bossart wrote:
> 
> 
> On 07/05/2018 06:46 AM, Shreyas NC wrote:
> >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: Shreyas NC <shreyas.nc@intel.com>
> >---
> >  drivers/soundwire/stream.c | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
> >index 8974a0f..37603c3 100644
> >--- a/drivers/soundwire/stream.c
> >+++ b/drivers/soundwire/stream.c
> >@@ -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,11 @@ int sdw_stream_add_slave(struct sdw_slave *slave,
> >  	if (ret)
> >  		goto stream_error;
> >+	/*
> >+	 * Change stream state to CONFIGURED on first Slave add.
> >+	 * We don't know number of Slaves in a stream currently so cant
> can't or cannot.

Will fix this.

> >+	 * wait for all Slaves to be added
> >+	 */
> >  	stream->state = SDW_STREAM_CONFIGURED;
> >  	goto error;
>
diff mbox

Patch

diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index 8974a0f..37603c3 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -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,11 @@  int sdw_stream_add_slave(struct sdw_slave *slave,
 	if (ret)
 		goto stream_error;
 
+	/*
+	 * Change stream state to CONFIGURED on first Slave add.
+	 * We don't know number of Slaves in a stream currently so cant
+	 * wait for all Slaves to be added
+	 */
 	stream->state = SDW_STREAM_CONFIGURED;
 	goto error;