From 652a8550db208a1f92f310a1ce9f04dda67f84c0 Mon Sep 17 00:00:00 2001 From: Amandeep Singh Date: Tue, 27 Aug 2019 13:12:12 +0530 Subject: [PATCH] msm: qcn: Synchronize card state change API Update card state change API to synchronize multiple invocation of the same API from different drivers. Change-Id: I03c18a9540bdb64fa462262faa9cabe158e9e199 Signed-off-by: Amandeep Singh --- drivers/platform/msm/qcn/qcn_sdio.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/platform/msm/qcn/qcn_sdio.c b/drivers/platform/msm/qcn/qcn_sdio.c index f926b660876c..e42109434557 100644 --- a/drivers/platform/msm/qcn/qcn_sdio.c +++ b/drivers/platform/msm/qcn/qcn_sdio.c @@ -1221,11 +1221,14 @@ int qcn_sdio_card_state(bool enable) mmc_try_claim_host(current_host, 2000); if (enable) { - ret = mmc_add_host(current_host); - if (ret) - pr_err("%s ret = %d\n", __func__, ret); + if (!atomic_read(&xport_status)) { + ret = mmc_add_host(current_host); + if (ret) + pr_err("%s ret = %d\n", __func__, ret); + } } else { - mmc_remove_host(current_host); + if (atomic_read(&xport_status)) + mmc_remove_host(current_host); } mmc_release_host(current_host);