From 3fda075378da508468d330057ba5d65646227fc9 Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Tue, 31 Jul 2018 19:27:44 +0530 Subject: [PATCH] soc: swr-wcd-ctrl: Fix wsa mute issue for stereo playback 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: I856b96517c629ac685bbc25caabee841037106c8 Signed-off-by: Laxminath Kasam --- soc/swr-wcd-ctrl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/soc/swr-wcd-ctrl.c b/soc/swr-wcd-ctrl.c index 729eb3850b2d..ecca5f699fde 100644 --- a/soc/swr-wcd-ctrl.c +++ b/soc/swr-wcd-ctrl.c @@ -1790,6 +1790,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);