mmc: sdio: Tidy error path in mmc_attach_sdio()
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 9 Jun 2017 12:27:17 +0000 (15:27 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 20 Jun 2017 08:30:39 +0000 (10:30 +0200)
The error path deletes the device by calling mmc_sdio_remove() which must
be called without the host claimed. Simplify the error path so it does just
that and add a comment about why we don't disable runtime PM.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/sdio.c

index fae732c870a961ffd001627307ac37433cd23215..f077fc8219d0f6b8eb10fed7fa62649e80c23025 100644 (file)
@@ -1159,15 +1159,14 @@ int mmc_attach_sdio(struct mmc_host *host)
        return 0;
 
 
-remove_added:
-       /* Remove without lock if the device has been added. */
-       mmc_sdio_remove(host);
-       mmc_claim_host(host);
 remove:
-       /* And with lock if it hasn't been added. */
        mmc_release_host(host);
-       if (host->card)
-               mmc_sdio_remove(host);
+remove_added:
+       /*
+        * The devices are being deleted so it is not necessary to disable
+        * runtime PM.
+        */
+       mmc_sdio_remove(host);
        mmc_claim_host(host);
 err:
        mmc_detach_bus(host);