2024-03-05 11:10:56

by Wolfram Sang

[permalink] [raw]
Subject: [PATCH] mmc: tmio: comment the ERR_PTR usage in this driver

It is not super obvious why the driver sometimes uses an ERR_PTR for the
current mrq. Explain why in comments.

Signed-off-by: Wolfram Sang <[email protected]>
---
drivers/mmc/host/tmio_mmc_core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/tmio_mmc_core.c b/drivers/mmc/host/tmio_mmc_core.c
index c253d176db69..93e912afd3ae 100644
--- a/drivers/mmc/host/tmio_mmc_core.c
+++ b/drivers/mmc/host/tmio_mmc_core.c
@@ -972,6 +972,7 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
return;
}

+ /* Disallow new mrqs and work handlers to run */
host->mrq = ERR_PTR(-EBUSY);

spin_unlock_irqrestore(&host->lock, flags);
@@ -1006,8 +1007,9 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
"%s.%d: IOS interrupted: clk %u, mode %u",
current->comm, task_pid_nr(current),
ios->clock, ios->power_mode);
- host->mrq = NULL;

+ /* Ready for new mrqs */
+ host->mrq = NULL;
host->clk_cache = ios->clock;

mutex_unlock(&host->ios_lock);
--
2.43.0



2024-03-05 12:17:03

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: tmio: comment the ERR_PTR usage in this driver

On Tue, 5 Mar 2024 at 11:56, Wolfram Sang
<[email protected]> wrote:
>
> It is not super obvious why the driver sometimes uses an ERR_PTR for the
> current mrq. Explain why in comments.
>
> Signed-off-by: Wolfram Sang <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/host/tmio_mmc_core.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/tmio_mmc_core.c b/drivers/mmc/host/tmio_mmc_core.c
> index c253d176db69..93e912afd3ae 100644
> --- a/drivers/mmc/host/tmio_mmc_core.c
> +++ b/drivers/mmc/host/tmio_mmc_core.c
> @@ -972,6 +972,7 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> return;
> }
>
> + /* Disallow new mrqs and work handlers to run */
> host->mrq = ERR_PTR(-EBUSY);
>
> spin_unlock_irqrestore(&host->lock, flags);
> @@ -1006,8 +1007,9 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> "%s.%d: IOS interrupted: clk %u, mode %u",
> current->comm, task_pid_nr(current),
> ios->clock, ios->power_mode);
> - host->mrq = NULL;
>
> + /* Ready for new mrqs */
> + host->mrq = NULL;
> host->clk_cache = ios->clock;
>
> mutex_unlock(&host->ios_lock);
> --
> 2.43.0
>