Re: [PATCH 2/4] ide: Handle irq disabling consistently
From: David Miller
Date: Fri May 04 2018 - 13:38:36 EST
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>