Commit 6950d046 authored by Xiaofei Tan's avatar Xiaofei Tan Committed by Alexandre Belloni
Browse files

rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard IRQ



It is redundant to do irqsave and irqrestore in hardIRQ context, where
it has been in a irq-disabled context.

Signed-off-by: default avatarXiaofei Tan <tanxiaofei@huawei.com>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/1612355981-6764-2-git-send-email-tanxiaofei@huawei.com
parent ddd05215
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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);