mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
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>
This commit is contained in:
parent
cc51ca3eff
commit
53cebeb017
|
|
@ -1524,6 +1524,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");
|
||||
|
||||
|
|
@ -1539,7 +1540,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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user