ASoC: cs35l56: Don't leave parent IRQ disabled if system_suspend fails

JIRA: https://issues.redhat.com/browse/RHEL-193253

commit 53cebeb017164254cde5e31c94d8deef9e4fff97
Author: Richard Fitzgerald <rf@opensource.cirrus.com>
Date: Wed Jun 10 11:55:56 2026 +0100

    ASoC: cs35l56: Don't leave parent IRQ disabled if system_suspend fails

    In cs35l56_system_suspend() re-enable the parent IRQ if the call to
    pm_runtime_force_suspend() returns an error.

    Fixes: f9dc6b875e ("ASoC: cs35l56: Add basic system suspend handling")
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://patch.msgid.link/20260610105556.612830-1-rf@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
This commit is contained in:
Jaroslav Kysela
2026-07-29 10:44:38 +02:00
parent 6131462193
commit a113ceb30d
+6 -1
View File
@@ -1488,6 +1488,7 @@ static int __maybe_unused cs35l56_runtime_resume_i2c_spi(struct device *dev)
int cs35l56_system_suspend(struct device *dev)
{
struct cs35l56_private *cs35l56 = dev_get_drvdata(dev);
int ret;
dev_dbg(dev, "system_suspend\n");
@@ -1503,7 +1504,11 @@ int cs35l56_system_suspend(struct device *dev)
if (cs35l56->base.irq)
disable_irq(cs35l56->base.irq);
return pm_runtime_force_suspend(dev);
ret = pm_runtime_force_suspend(dev);
if ((ret < 0) && cs35l56->base.irq)
enable_irq(cs35l56->base.irq);
return ret;
}
EXPORT_SYMBOL_GPL(cs35l56_system_suspend);