Re: [PATCH] mmc: davinci: fix mmc_add_host order in probe
From: Ulf Hansson
Date: Fri May 29 2026 - 11:07:51 EST
On Sun, May 10, 2026 at 6:29 PM Osama Abdelkader
<osama.abdelkader@xxxxxxxxx> wrote:
>
> mmc_add_host() makes the host visible to the MMC core. Register the
> interrupt handlers and advertise MMC_CAP_SDIO_IRQ before that, so the
> core cannot start using the host before IRQ handling is set up.
>
> Signed-off-by: Osama Abdelkader <osama.abdelkader@xxxxxxxxx>
Applied for next, thanks!
Kind regards
Uffe
> ---
> drivers/mmc/host/davinci_mmc.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> index 42b0118a45a8..a598febe7332 100644
> --- a/drivers/mmc/host/davinci_mmc.c
> +++ b/drivers/mmc/host/davinci_mmc.c
> @@ -1294,14 +1294,10 @@ static int davinci_mmcsd_probe(struct platform_device *pdev)
> goto cpu_freq_fail;
> }
>
> - ret = mmc_add_host(mmc);
> - if (ret < 0)
> - goto mmc_add_host_fail;
> -
> ret = devm_request_irq(&pdev->dev, irq, mmc_davinci_irq, 0,
> mmc_hostname(mmc), host);
> if (ret)
> - goto request_irq_fail;
> + goto mmc_add_host_fail;
>
> if (host->sdio_irq >= 0) {
> ret = devm_request_irq(&pdev->dev, host->sdio_irq,
> @@ -1311,6 +1307,10 @@ static int davinci_mmcsd_probe(struct platform_device *pdev)
> mmc->caps |= MMC_CAP_SDIO_IRQ;
> }
>
> + ret = mmc_add_host(mmc);
> + if (ret < 0)
> + goto mmc_add_host_fail;
> +
> rename_region(mem, mmc_hostname(mmc));
>
> if (mmc->caps & MMC_CAP_8_BIT_DATA)
> @@ -1324,8 +1324,6 @@ static int davinci_mmcsd_probe(struct platform_device *pdev)
>
> return 0;
>
> -request_irq_fail:
> - mmc_remove_host(mmc);
> mmc_add_host_fail:
> mmc_davinci_cpufreq_deregister(host);
> cpu_freq_fail:
> --
> 2.43.0