]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtk-sd: reset host->mrq on prepare_data() error
authorSergey Senozhatsky <senozhatsky@chromium.org>
Wed, 25 Jun 2025 05:20:37 +0000 (14:20 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 25 Jun 2025 12:42:51 +0000 (14:42 +0200)
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>
drivers/mmc/host/mtk-sd.c

index b12cfb9a5e5f4e1e07046172b2f0f324311983f6..d7020e06dd55aa435ad4a6bee744ea66c48ad3ed 100644 (file)
@@ -1492,6 +1492,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.