OSDN Git Service

ASoC: rt700: wait for the delayed work to finish when the system suspends
authorShuming Fan <shumingf@realtek.com>
Mon, 21 Sep 2020 09:42:44 +0000 (17:42 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 21 Sep 2020 19:40:51 +0000 (20:40 +0100)
To avoid the IO error, we need to cancel the delayed work and wait for it to finish.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200921094244.31869-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt700-sdw.c

index 1d24bf0..af6e17e 100644 (file)
@@ -490,6 +490,9 @@ static int __maybe_unused rt700_dev_suspend(struct device *dev)
        if (!rt700->hw_init)
                return 0;
 
+       cancel_delayed_work_sync(&rt700->jack_detect_work);
+       cancel_delayed_work_sync(&rt700->jack_btn_check_work);
+
        regcache_cache_only(rt700->regmap, true);
 
        return 0;