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 <tiant...@hisilicon.com>
---
 drivers/mmc/host/mtk-sd.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index a704745..fb3e419 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -1536,13 +1536,12 @@ static irqreturn_t msdc_irq(int irq, void *dev_id)
        struct mmc_host *mmc = mmc_from_priv(host);
 
        while (true) {
-               unsigned long flags;
                struct mmc_request *mrq;
                struct mmc_command *cmd;
                struct mmc_data *data;
                u32 events, event_mask;
 
-               spin_lock_irqsave(&host->lock, flags);
+               spin_lock(&host->lock);
                events = readl(host->base + MSDC_INT);
                event_mask = readl(host->base + MSDC_INTEN);
                if ((events & event_mask) & MSDC_INT_SDIOIRQ)
@@ -1553,7 +1552,7 @@ static irqreturn_t msdc_irq(int irq, void *dev_id)
                mrq = host->mrq;
                cmd = host->cmd;
                data = host->data;
-               spin_unlock_irqrestore(&host->lock, flags);
+               spin_unlock(&host->lock);
 
                if ((events & event_mask) & MSDC_INT_SDIOIRQ)
                        sdio_signal_irq(mmc);
-- 
2.7.4

Reply via email to