From: Pierre-Louis Bossart Date: Tue, 17 Mar 2020 16:33:16 +0000 (-0500) Subject: soundwire: cadence: handle error cases with CONFIG_UPDATE X-Git-Tag: v5.15~4157^2~25^2~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bc87cce9426964aa0cc406419bd6f70e8393ed0;p=platform%2Fkernel%2Flinux-starfive.git soundwire: cadence: handle error cases with CONFIG_UPDATE config_update() may time out or cannot be use in ClockStopMode Signed-off-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20200317163329.25501-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul --- diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 1bfdc1d..d7f01d3 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -239,6 +239,11 @@ static int cdns_config_update(struct sdw_cdns *cdns) { int ret; + if (sdw_cdns_is_clock_stop(cdns)) { + dev_err(cdns->dev, "Cannot program MCP_CONFIG_UPDATE in ClockStopMode\n"); + return -EINVAL; + } + ret = cdns_clear_bit(cdns, CDNS_MCP_CONFIG_UPDATE, CDNS_MCP_CONFIG_UPDATE_BIT); if (ret < 0)