[PATCH] mmc: core: sd: Remove unused buffer allocation in sd_enable_cache()

From: Chanwoo Lee

Date: Tue Jun 02 2026 - 05:48:47 EST


sd_enable_cache() allocates a 512-byte buffer that is never used.
sd_write_ext_reg() allocates its own internal buffer, and no read-back
verification is done in this function. Remove the unnecessary allocation.

Fixes: 130206a615a9 ("mmc: core: Add support for cache ctrl for SD cards")
Signed-off-by: Chanwoo Lee <cw9316.lee@xxxxxxxxxxx>
---
drivers/mmc/core/sd.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 948948ca9b4a..c763efb10f64 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -1379,15 +1379,10 @@ static int sd_flush_cache(struct mmc_host *host)

static int sd_enable_cache(struct mmc_card *card)
{
- u8 *reg_buf;
int err;

card->ext_perf.feature_enabled &= ~SD_EXT_PERF_CACHE;

- reg_buf = kzalloc(512, GFP_KERNEL);
- if (!reg_buf)
- return -ENOMEM;
-
/*
* Set Cache Enable at bit 0 in the performance enhancement register at
* 260 bytes offset.
@@ -1397,7 +1392,7 @@ static int sd_enable_cache(struct mmc_card *card)
if (err) {
pr_warn("%s: error %d writing Cache Enable bit\n",
mmc_hostname(card->host), err);
- goto out;
+ return err;
}

err = mmc_poll_for_busy(card, SD_WRITE_EXTR_SINGLE_TIMEOUT_MS, false,
@@ -1405,8 +1400,6 @@ static int sd_enable_cache(struct mmc_card *card)
if (!err)
card->ext_perf.feature_enabled |= SD_EXT_PERF_CACHE;

-out:
- kfree(reg_buf);
return err;
}

--
2.43.0