From: Shuming Fan <[email protected]>
The _sdw_prepare_stream function just returns the error code when
compute_params callback failed.
The cumulative bus bandwidth will keep the value and won't be decreased
by sdw_deprepare_stream function.
We should restore the value of cumulative bus bandwidth when
compute_params callback failed.
Signed-off-by: Shuming Fan <[email protected]>
Reviewed-by: Paul Olaru <[email protected]>
Reviewed-by: Rander Wang <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Bard Liao <[email protected]>
---
drivers/soundwire/stream.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index 8c6da1739e3d..136b6850a3f0 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -1369,7 +1369,7 @@ static int _sdw_prepare_stream(struct sdw_stream_runtime *stream,
if (ret < 0) {
dev_err(bus->dev, "Compute params failed: %d\n",
ret);
- return ret;
+ goto restore_params;
}
}
--
2.25.1
On 16-03-23, 09:30, Bard Liao wrote:
> From: Shuming Fan <[email protected]>
>
> The _sdw_prepare_stream function just returns the error code when
> compute_params callback failed.
> The cumulative bus bandwidth will keep the value and won't be decreased
> by sdw_deprepare_stream function.
> We should restore the value of cumulative bus bandwidth when
> compute_params callback failed.
Applied, thanks
--
~Vinod