|
@@ -467,7 +467,10 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
|
|
|
if (sdhci_acpi_flag(c, SDHCI_ACPI_SD_CD)) {
|
|
|
bool v = sdhci_acpi_flag(c, SDHCI_ACPI_SD_CD_OVERRIDE_LEVEL);
|
|
|
|
|
|
- if (mmc_gpiod_request_cd(host->mmc, NULL, 0, v, 0, NULL)) {
|
|
|
+ err = mmc_gpiod_request_cd(host->mmc, NULL, 0, v, 0, NULL);
|
|
|
+ if (err) {
|
|
|
+ if (err == -EPROBE_DEFER)
|
|
|
+ goto err_free;
|
|
|
dev_warn(dev, "failed to setup card detect gpio\n");
|
|
|
c->use_runtime_pm = false;
|
|
|
}
|