Messages in this thread | | | Date | Fri, 04 May 2018 13:38:23 -0400 (EDT) | Subject | Re: [PATCH 2/4] ide: Handle irq disabling consistently | From | David Miller <> |
| |
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 4 May 2018 16:24:44 +0200
> ide_timer_expiry() disables interrupt at function entry when acquiring > hwif->lock. Before disabling the device interrupt it unlocks hwif->lock, > but interrupts stay disabled. After the call to disable_irq() interrupts > are disabled again, which is a pointless exercise. > > After the device irq handler has been invoked with interrupts disabled, > hwif->lock is acquired again with spin_lock_irq() because the device irq > handler might have reenabled interrupts. This is not documented and > confusing for the casual reader. > > Remove the redundant local_irq_disable() and add a comment which explains > why hwif->lock has to be reacquired with spin_lock_irq(). > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: David S. Miller <davem@davemloft.net>
| |