mmc: cavium: Replace spin_lock_irqsave with spin_lock in hard IRQ
authorXiaofei Tan <tanxiaofei@huawei.com>
Thu, 4 Feb 2021 07:07:18 +0000 (15:07 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 8 Feb 2021 11:57:16 +0000 (12:57 +0100)
It is redundant to do irqsave and irqrestore in hardIRQ context, where
it has been in a irq-disabled context.

Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
Link: https://lore.kernel.org/r/1612422438-32525-1-git-send-email-tanxiaofei@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/cavium.c

index c5da3aaee334555a8c6c71ffe30251c48df1eea6..4bb8f2800a2b1f3c888778d419c64f4697af1c07 100644 (file)
@@ -436,12 +436,11 @@ irqreturn_t cvm_mmc_interrupt(int irq, void *dev_id)
 {
        struct cvm_mmc_host *host = dev_id;
        struct mmc_request *req;
-       unsigned long flags = 0;
        u64 emm_int, rsp_sts;
        bool host_done;
 
        if (host->need_irq_handler_lock)
-               spin_lock_irqsave(&host->irq_handler_lock, flags);
+               spin_lock(&host->irq_handler_lock);
        else
                __acquire(&host->irq_handler_lock);
 
@@ -504,7 +503,7 @@ no_req_done:
                host->release_bus(host);
 out:
        if (host->need_irq_handler_lock)
-               spin_unlock_irqrestore(&host->irq_handler_lock, flags);
+               spin_unlock(&host->irq_handler_lock);
        else
                __release(&host->irq_handler_lock);
        return IRQ_RETVAL(emm_int != 0);