mirror of
https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10.git
synced 2026-09-09 00:07:04 +08:00
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:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user