rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard IRQ
authorXiaofei Tan <tanxiaofei@huawei.com>
Wed, 3 Feb 2021 12:39:36 +0000 (20:39 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 5 Feb 2021 23:50:47 +0000 (00:50 +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>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/1612355981-6764-2-git-send-email-tanxiaofei@huawei.com
drivers/rtc/rtc-cmos.c

index c3746e249f5a4684935d9eb1ad0fdd7232c36be4..a99933e1640487e3c650ce19bff140456bb05ad5 100644 (file)
@@ -643,11 +643,10 @@ static struct cmos_rtc    cmos_rtc;
 
 static irqreturn_t cmos_interrupt(int irq, void *p)
 {
-       unsigned long   flags;
        u8              irqstat;
        u8              rtc_control;
 
-       spin_lock_irqsave(&rtc_lock, flags);
+       spin_lock(&rtc_lock);
 
        /* When the HPET interrupt handler calls us, the interrupt
         * status is passed as arg1 instead of the irq number.  But
@@ -681,7 +680,7 @@ static irqreturn_t cmos_interrupt(int irq, void *p)
                        hpet_mask_rtc_irq_bit(RTC_AIE);
                CMOS_READ(RTC_INTR_FLAGS);
        }
-       spin_unlock_irqrestore(&rtc_lock, flags);
+       spin_unlock(&rtc_lock);
 
        if (is_intr(irqstat)) {
                rtc_update_irq(p, 1, irqstat);