2018-09-11 14:49:05

by jun qian

[permalink] [raw]
Subject: [PATCH] mmc: mxcmmc: replace spin_lock_irqsave with spin_lock in ISR

As you are already in ISR, it is unnecessary to call spin_lock_irqsave.

Signed-off-by: jun qian <[email protected]>
---
drivers/mmc/host/mxcmmc.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index de4e6e5bf304..4d17032d15ee 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -728,7 +728,6 @@ static void mxcmci_cmd_done(struct mxcmci_host *host, unsigned int stat)
static irqreturn_t mxcmci_irq(int irq, void *devid)
{
struct mxcmci_host *host = devid;
- unsigned long flags;
bool sdio_irq;
u32 stat;

@@ -740,9 +739,9 @@ static irqreturn_t mxcmci_irq(int irq, void *devid)

dev_dbg(mmc_dev(host->mmc), "%s: 0x%08x\n", __func__, stat);

- spin_lock_irqsave(&host->lock, flags);
+ spin_lock(&host->lock);
sdio_irq = (stat & STATUS_SDIO_INT_ACTIVE) && host->use_sdio;
- spin_unlock_irqrestore(&host->lock, flags);
+ spin_unlock(&host->lock);

if (mxcmci_use_dma(host) && (stat & (STATUS_WRITE_OP_DONE)))
mxcmci_writel(host, STATUS_WRITE_OP_DONE, MMC_REG_STATUS);
--
2.17.1





2018-09-11 16:01:23

by Vladimir Zapolskiy

[permalink] [raw]
Subject: Re: [PATCH] mmc: mxcmmc: replace spin_lock_irqsave with spin_lock in ISR

On 09/11/2018 05:47 PM, jun qian wrote:
> As you are already in ISR, it is unnecessary to call spin_lock_irqsave.
>
> Signed-off-by: jun qian <[email protected]>

Reviewed-by: Vladimir Zapolskiy <[email protected]>

---
Best wishes,
Vladimir

2018-09-17 18:36:17

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: mxcmmc: replace spin_lock_irqsave with spin_lock in ISR

On 11 September 2018 at 16:47, jun qian <[email protected]> wrote:
> As you are already in ISR, it is unnecessary to call spin_lock_irqsave.
>
> Signed-off-by: jun qian <[email protected]>

Applied for next, thanks!

Kind regards
Uffe

> ---
> drivers/mmc/host/mxcmmc.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
> index de4e6e5bf304..4d17032d15ee 100644
> --- a/drivers/mmc/host/mxcmmc.c
> +++ b/drivers/mmc/host/mxcmmc.c
> @@ -728,7 +728,6 @@ static void mxcmci_cmd_done(struct mxcmci_host *host, unsigned int stat)
> static irqreturn_t mxcmci_irq(int irq, void *devid)
> {
> struct mxcmci_host *host = devid;
> - unsigned long flags;
> bool sdio_irq;
> u32 stat;
>
> @@ -740,9 +739,9 @@ static irqreturn_t mxcmci_irq(int irq, void *devid)
>
> dev_dbg(mmc_dev(host->mmc), "%s: 0x%08x\n", __func__, stat);
>
> - spin_lock_irqsave(&host->lock, flags);
> + spin_lock(&host->lock);
> sdio_irq = (stat & STATUS_SDIO_INT_ACTIVE) && host->use_sdio;
> - spin_unlock_irqrestore(&host->lock, flags);
> + spin_unlock(&host->lock);
>
> if (mxcmci_use_dma(host) && (stat & (STATUS_WRITE_OP_DONE)))
> mxcmci_writel(host, STATUS_WRITE_OP_DONE, MMC_REG_STATUS);
> --
> 2.17.1
>
>
>