[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180504.133823.125565697801860796.davem@davemloft.net>
Date: Fri, 04 May 2018 13:38:23 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: bigeasy@...utronix.de
Cc: linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org,
tglx@...utronix.de
Subject: Re: [PATCH 2/4] ide: Handle irq disabling consistently
From: Sebastian Andrzej Siewior <bigeasy@...utronix.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@...utronix.de>
Acked-by: David S. Miller <davem@...emloft.net>
Powered by blists - more mailing lists