Sebastian Andrzej Siewior 56f0ddadce ide: Handle irq disabling consistently
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-06-05 16:26:46 -04:00
..
2016-07-26 15:25:30 -07:00
2015-04-17 15:32:07 -04:00
2013-11-14 18:21:25 -05:00
2018-05-07 07:15:41 +02:00
2016-06-27 12:26:08 -07:00
2018-05-07 07:15:41 +02:00
2017-08-16 11:25:16 -07:00
2016-01-18 14:12:33 -05:00
2013-01-03 15:57:03 -08:00
2016-01-18 14:12:33 -05:00