From 5d45ac929fb1189c2eb3706482eaa0d68e824ae9 Mon Sep 17 00:00:00 2001 From: Yifeng Zhao Date: Thu, 25 May 2023 10:25:09 +0800 Subject: [PATCH] mms: rk_sdmmc_ops: disabled command queue while execute Signed-off-by: Yifeng Zhao Change-Id: I1cdca1d01012de8749b0033367ae050c87f19193 --- drivers/mmc/host/rk_sdmmc_ops.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mmc/host/rk_sdmmc_ops.c b/drivers/mmc/host/rk_sdmmc_ops.c index 47967a40915a..b731d7dae085 100644 --- a/drivers/mmc/host/rk_sdmmc_ops.c +++ b/drivers/mmc/host/rk_sdmmc_ops.c @@ -156,6 +156,12 @@ int rk_emmc_transfer(u8 *buffer, unsigned int addr, unsigned int datasz, int wri mmc_claim_host(this_card->host); + if (this_card->ext_csd.cmdq_en) { + ret = mmc_cmdq_disable(this_card); + if (ret) + goto exit; + } + areatype = (enum emmc_area_type)this_card->ext_csd.part_config & EXT_CSD_PART_CONFIG_ACC_MASK; if (areatype != MMC_DATA_AREA_MAIN) { @@ -186,6 +192,9 @@ int rk_emmc_transfer(u8 *buffer, unsigned int addr, unsigned int datasz, int wri } exit: + if (this_card->reenable_cmdq && !this_card->ext_csd.cmdq_en) + mmc_cmdq_enable(this_card); + mmc_release_host(this_card->host); return ret; }