summaryrefslogtreecommitdiffstats
path: root/drivers/soundwire/stream.c
diff options
context:
space:
mode:
authorShuming Fan <shumingf@realtek.com>2023-03-16 09:30:41 +0800
committerVinod Koul <vkoul@kernel.org>2023-04-12 15:30:35 +0530
commitacdae4632e40f05e0f0731c5a383e461324aea65 (patch)
tree25b12709eca9639f293948dfd8da2105776c9e6a /drivers/soundwire/stream.c
parent9ddae9dad09e8bdaa33909bdcbb062c883c3c332 (diff)
downloadlinux-acdae4632e40f05e0f0731c5a383e461324aea65.tar.gz
linux-acdae4632e40f05e0f0731c5a383e461324aea65.tar.bz2
linux-acdae4632e40f05e0f0731c5a383e461324aea65.zip
soundwire: stream: restore cumulative bus bandwidth when compute_params callback failed
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 <shumingf@realtek.com> Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20230316013041.1008003-1-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire/stream.c')
-rw-r--r--drivers/soundwire/stream.c2
1 files changed, 1 insertions, 1 deletions
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;
}
}