mmc: core: SPI mode remove cmd7
authorRex Chen <rex.chen_1@nxp.com>
Mon, 28 Jul 2025 08:22:29 +0000 (17:22 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Aug 2025 12:33:37 +0000 (14:33 +0200)
SPI mode doesn't support cmd7, so remove it in mmc_sdio_alive() and
confirm if sdio is active by checking CCCR register value is available
or not.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250728082230.1037917-2-rex.chen_1@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/sdio.c

index 0f75336..83085e7 100644 (file)
@@ -945,7 +945,11 @@ static void mmc_sdio_remove(struct mmc_host *host)
  */
 static int mmc_sdio_alive(struct mmc_host *host)
 {
-       return mmc_select_card(host->card);
+       if (!mmc_host_is_spi(host))
+               return mmc_select_card(host->card);
+       else
+               return mmc_io_rw_direct(host->card, 0, 0, SDIO_CCCR_CCCR, 0,
+                                       NULL);
 }
 
 /*