From 4721b16381136dc1aad03ba726ed4818173ab51f Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Fri, 31 Aug 2018 15:20:21 +0530 Subject: [PATCH] soc: swr-mstr-ctrl: porting fix from wcd controller to mstr controller When temperature on a single wsa881x device is being read, then soundwire master wakes up both wsa881x devices but regcache_sync is happening only for one wsa881x device on which the temperature is being read. This results in audio playback mute after temperature read. Fix the regcache sync during temperature read and playback usecase. Change-Id: Icee46d5105bb449f14855d33bdcb00cf5c77cb91 Signed-off-by: Laxminath Kasam --- soc/swr-mstr-ctrl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index a9d755b89442..06b20d678c35 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -1879,6 +1879,8 @@ int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data) (swrm->state == SWR_MSTR_UP)) { dev_dbg(swrm->dev, "%s: SWR master is already UP: %d\n", __func__, swrm->state); + list_for_each_entry(swr_dev, &mstr->devices, dev_list) + swr_reset_device(swr_dev); } else { pm_runtime_mark_last_busy(&pdev->dev); mutex_unlock(&swrm->reslock);