[PATCH] mtk-sd: reset host->mrq on prepare_data() error

Sergey Senozhatsky posted 1 patch 3 months, 2 weeks ago
drivers/mmc/host/mtk-sd.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] mtk-sd: reset host->mrq on prepare_data() error
Posted by Sergey Senozhatsky 3 months, 2 weeks ago
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
Re: [PATCH] mtk-sd: reset host->mrq on prepare_data() error
Posted by Ulf Hansson 3 months, 2 weeks ago
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
>
Re: [PATCH] mtk-sd: reset host->mrq on prepare_data() error
Posted by Masami Hiramatsu (Google) 3 months, 2 weeks ago
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>