summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorSergey Senozhatsky <senozhatsky@chromium.org>2025-06-25 14:20:37 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-07-10 16:03:05 +0200
commitb935c1e734d238fba1732079f320b6bdd793fa18 (patch)
tree42593496fc20e31d858cf6b559cffbb383d41793 /drivers/mmc
parent61cdd663564674ea21ceb50aa9d3697cbe9e45f9 (diff)
downloadlinux-b935c1e734d238fba1732079f320b6bdd793fa18.tar.gz
linux-b935c1e734d238fba1732079f320b6bdd793fa18.tar.bz2
linux-b935c1e734d238fba1732079f320b6bdd793fa18.zip
mtk-sd: reset host->mrq on prepare_data() error
commit ec54c0a20709ed6e56f40a8d59eee725c31a916b upstream. Do not leave host with dangling ->mrq pointer if we hit the msdc_prepare_data() error out path. Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Fixes: f5de469990f1 ("mtk-sd: Prevent memory corruption from DMA map failure") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20250625052106.584905-1-senozhatsky@chromium.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/mtk-sd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index d1bceb85c9eb..cf685c0a17ed 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -1347,6 +1347,7 @@ static void msdc_ops_request(struct mmc_host *mmc, struct mmc_request *mrq)
if (mrq->data) {
msdc_prepare_data(host, mrq->data);
if (!msdc_data_prepared(mrq->data)) {
+ host->mrq = NULL;
/*
* Failed to prepare DMA area, fail fast before
* starting any commands.