diff options
author | Daode Huang <huangdaode@huawei.com> | 2021-02-05 10:39:11 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2021-03-11 11:59:40 +0100 |
commit | dd354506911a4aaa81aa09f4769268cb14b37cbe (patch) | |
tree | 10a481ddafc028dade8efcc7d8a6c88a5d038015 /drivers/media/rc | |
parent | c4a1bff9507fbeb1a13389cd51cb100b65de3c59 (diff) |
media: rc/ite-cir: replace spin_lock_irqsave by spin_lock in hard IRQ
It is redundant to do irqsave and irqrestore in hardIRQ context.
Signed-off-by: Daode Huang <huangdaode@huawei.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/rc')
-rw-r--r-- | drivers/media/rc/ite-cir.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c index 0c6229592e13..4a51ca801902 100644 --- a/drivers/media/rc/ite-cir.c +++ b/drivers/media/rc/ite-cir.c @@ -262,7 +262,6 @@ static void ite_set_carrier_params(struct ite_dev *dev) static irqreturn_t ite_cir_isr(int irq, void *data) { struct ite_dev *dev = data; - unsigned long flags; irqreturn_t ret = IRQ_RETVAL(IRQ_NONE); u8 rx_buf[ITE_RX_FIFO_LEN]; int rx_bytes; @@ -271,7 +270,7 @@ static irqreturn_t ite_cir_isr(int irq, void *data) ite_dbg_verbose("%s firing", __func__); /* grab the spinlock */ - spin_lock_irqsave(&dev->lock, flags); + spin_lock(&dev->lock); /* read the interrupt flags */ iflags = dev->params.get_irq_causes(dev); @@ -287,17 +286,14 @@ static irqreturn_t ite_cir_isr(int irq, void *data) /* drop the spinlock, since the ir-core layer * may call us back again through * ite_s_idle() */ - spin_unlock_irqrestore(&dev-> - lock, - flags); + spin_unlock(&dev->lock); /* decode the data we've just received */ ite_decode_bytes(dev, rx_buf, rx_bytes); /* reacquire the spinlock */ - spin_lock_irqsave(&dev->lock, - flags); + spin_lock(&dev->lock); /* mark the interrupt as serviced */ ret = IRQ_RETVAL(IRQ_HANDLED); @@ -314,7 +310,7 @@ static irqreturn_t ite_cir_isr(int irq, void *data) } /* drop the spinlock */ - spin_unlock_irqrestore(&dev->lock, flags); + spin_unlock(&dev->lock); ite_dbg_verbose("%s done returning %d", __func__, (int)ret); |