OSDN Git Service

msm: qcn: Synchronize card state change API
authorAmandeep Singh <amansing@codeaurora.org>
Tue, 27 Aug 2019 07:42:12 +0000 (13:12 +0530)
committerAmandeep Singh <amansing@codeaurora.org>
Tue, 3 Sep 2019 06:19:22 +0000 (11:49 +0530)
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>
drivers/platform/msm/qcn/qcn_sdio.c

index f926b66..e421094 100644 (file)
@@ -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);