diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index e44267f662166b86bfbfe2e01f77283cb6ec4ac4..93109a4e2bc859275d9deeb80e7e843a283bce16 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -577,6 +577,7 @@ int snd_soc_suspend(struct device *dev)
 			case SND_SOC_BIAS_OFF:
 				codec->driver->suspend(codec, PMSG_SUSPEND);
 				codec->suspended = 1;
+				codec->cache_sync = 1;
 				break;
 			default:
 				dev_dbg(codec->dev, "CODEC is on over suspend\n");