diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 39bbbd754781f86afc86d19527cc2ae6878bcee1..a8141ff9be038b4e97aabd16bf63c3ce9b3a2518 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2053,6 +2053,8 @@ static int sdhci_check_ro(struct sdhci_host *host) is_readonly = 0; else if (host->ops->get_ro) is_readonly = host->ops->get_ro(host); + else if (mmc_can_gpio_ro(host->mmc)) + is_readonly = mmc_gpio_get_ro(host->mmc); else is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_WRITE_PROTECT);