From 0fed92f4777e632667dfac9ee99dbbc1484f807e Mon Sep 17 00:00:00 2001 From: Ramprasad Katkam Date: Thu, 8 Nov 2018 14:22:22 +0530 Subject: [PATCH] soc: swr-mstr: Ignore device up during SSR New audio session may be opened just before SSR has occured. Ignore device up notification due to new session during SSR as soundwire hardware is not ready. Change-Id: I06a558d0fa9e31ed6bbdfab80402ba7b337e7ad8 signed-off-by: Ramprasad Katkam --- soc/swr-mstr-ctrl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index 80dd5e8d3f76..babf8035b9b3 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -2132,6 +2132,13 @@ int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data) break; case SWR_DEVICE_UP: dev_dbg(swrm->dev, "%s: swr master up called\n", __func__); + mutex_lock(&swrm->devlock); + if (!swrm->dev_up) { + dev_dbg(swrm->dev, "SSR not complete yet\n"); + mutex_unlock(&swrm->devlock); + return -EBUSY; + } + mutex_unlock(&swrm->devlock); mutex_lock(&swrm->mlock); pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_get_sync(&pdev->dev);