On Sat, Oct 17, 2020 at 09:40:10AM +0800, Tian Tao wrote: > It is redundant to do irqsave and irqrestore in hardIRQ context.
Are ACPI GPEs run in hardirq context? I looked around a bit and couldn't tell. If not, then I can't take this patch. Otherwise, it's ok. -corey > > Signed-off-by: Tian Tao <tiant...@hisilicon.com> > --- > drivers/char/ipmi/ipmi_si_intf.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/char/ipmi/ipmi_si_intf.c > b/drivers/char/ipmi/ipmi_si_intf.c > index 45546ac..97452a8 100644 > --- a/drivers/char/ipmi/ipmi_si_intf.c > +++ b/drivers/char/ipmi/ipmi_si_intf.c > @@ -1116,7 +1116,6 @@ static void smi_timeout(struct timer_list *t) > irqreturn_t ipmi_si_irq_handler(int irq, void *data) > { > struct smi_info *smi_info = data; > - unsigned long flags; > > if (smi_info->io.si_type == SI_BT) > /* We need to clear the IRQ flag for the BT interface. */ > @@ -1124,14 +1123,14 @@ irqreturn_t ipmi_si_irq_handler(int irq, void *data) > IPMI_BT_INTMASK_CLEAR_IRQ_BIT > | IPMI_BT_INTMASK_ENABLE_IRQ_BIT); > > - spin_lock_irqsave(&(smi_info->si_lock), flags); > + spin_lock(&(smi_info->si_lock)); > > smi_inc_stat(smi_info, interrupts); > > debug_timestamp("Interrupt"); > > smi_event_handler(smi_info, 0); > - spin_unlock_irqrestore(&(smi_info->si_lock), flags); > + spin_unlock(&(smi_info->si_lock)); > return IRQ_HANDLED; > } > > -- > 2.7.4 > > > > _______________________________________________ > Openipmi-developer mailing list > openipmi-develo...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openipmi-developer