summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmandeep Singh <amansing@codeaurora.org>2019-08-27 13:12:12 +0530
committerAmandeep Singh <amansing@codeaurora.org>2019-09-03 11:49:22 +0530
commit652a8550db208a1f92f310a1ce9f04dda67f84c0 (patch)
tree0d69a70486260aa6d4a7f0937559c6f0bbb55fcf
parent9ea2de0a4e7b4cd918a38c8e5f7198c5ce77702f (diff)
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 <amansing@codeaurora.org>
-rw-r--r--drivers/platform/msm/qcn/qcn_sdio.c11
1 files 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);