Re: [PATCH] mmc: meson-mx-sdio: replace spin_lock_irqsave by spin_lock in hard IRQ

From: Jerome Brunet
Date: Thu Nov 05 2020 - 04:57:40 EST



On Tue 03 Nov 2020 at 04:48, Tian Tao <tiantao6@xxxxxxxxxxxxx> wrote:

> The code has been in a irq-disabled context since it is hard IRQ. There
> is no necessity to do it again.
>
> Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>

Reviewed-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>

> ---
> drivers/mmc/host/meson-mx-sdio.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/meson-mx-sdio.c b/drivers/mmc/host/meson-mx-sdio.c
> index 1c5299c..d4a4891 100644
> --- a/drivers/mmc/host/meson-mx-sdio.c
> +++ b/drivers/mmc/host/meson-mx-sdio.c
> @@ -418,10 +418,9 @@ static irqreturn_t meson_mx_mmc_irq(int irq, void *data)
> {
> struct meson_mx_mmc_host *host = (void *) data;
> u32 irqs, send;
> - unsigned long irqflags;
> irqreturn_t ret;
>
> - spin_lock_irqsave(&host->irq_lock, irqflags);
> + spin_lock(&host->irq_lock);
>
> irqs = readl(host->base + MESON_MX_SDIO_IRQS);
> send = readl(host->base + MESON_MX_SDIO_SEND);
> @@ -434,7 +433,7 @@ static irqreturn_t meson_mx_mmc_irq(int irq, void *data)
> /* finally ACK all pending interrupts */
> writel(irqs, host->base + MESON_MX_SDIO_IRQS);
>
> - spin_unlock_irqrestore(&host->irq_lock, irqflags);
> + spin_unlock(&host->irq_lock);
>
> return ret;
> }