From 3e8b6f5928a15d268a2aeefffdcde793f6cf4911 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Mon, 10 Jun 2024 11:15:50 +0200 Subject: [PATCH] soundwire: cadence: enable interrupts after the clock restarts For some reason, we don't have a symmetry between clock stop and clock start. We should disable the interrupts first on clock stop, and re-enable them last on clock restart. Signed-off-by: Pierre-Louis Bossart --- drivers/soundwire/cadence_master.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 654fed9797799f..00e33b78bfea67 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -1713,9 +1713,6 @@ int sdw_cdns_clock_restart(struct sdw_cdns *cdns, bool bus_reset) { int ret; - /* unmask Slave interrupts that were masked when stopping the clock */ - cdns_enable_slave_interrupts(cdns, true); - ret = cdns_clear_bit(cdns, CDNS_MCP_CONTROL, CDNS_MCP_CONTROL_CLK_STOP_CLR); if (ret < 0) { @@ -1753,6 +1750,9 @@ int sdw_cdns_clock_restart(struct sdw_cdns *cdns, bool bus_reset) dev_err(cdns->dev, "bus failed to exit clock stop %d\n", ret); } + /* unmask Slave interrupts that were masked when stopping the clock */ + cdns_enable_slave_interrupts(cdns, true); + return ret; } EXPORT_SYMBOL(sdw_cdns_clock_restart);