drivers/mmc/host/mtk-sd.c | 1 + 1 file changed, 1 insertion(+)
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>
---
drivers/mmc/host/mtk-sd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index b12cfb9a5e5f..d7020e06dd55 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -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.
--
2.50.0.714.g196bf9f422-goog
On Wed, 25 Jun 2025 at 07:21, Sergey Senozhatsky <senozhatsky@chromium.org> wrote: > > 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> Applied for fixes, thanks! Kind regards Uffe > --- > drivers/mmc/host/mtk-sd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c > index b12cfb9a5e5f..d7020e06dd55 100644 > --- a/drivers/mmc/host/mtk-sd.c > +++ b/drivers/mmc/host/mtk-sd.c > @@ -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. > -- > 2.50.0.714.g196bf9f422-goog >
On Wed, 25 Jun 2025 14:20:37 +0900 Sergey Senozhatsky <senozhatsky@chromium.org> wrote: > 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> Thanks for fixing it. > --- > drivers/mmc/host/mtk-sd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c > index b12cfb9a5e5f..d7020e06dd55 100644 > --- a/drivers/mmc/host/mtk-sd.c > +++ b/drivers/mmc/host/mtk-sd.c > @@ -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. > -- > 2.50.0.714.g196bf9f422-goog > -- Masami Hiramatsu (Google) <mhiramat@kernel.org>
© 2016 - 2025 Red Hat, Inc.