i2c: cht-wc: Use generic_handle_irq_safe().
Instead of manually disabling interrupts before invoking use generic_handle_irq_safe() which can be invoked with enabled and disabled interrupts. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
68ea1b2c33
commit
a5ea32579f
@ -99,15 +99,8 @@ static irqreturn_t cht_wc_i2c_adap_thread_handler(int id, void *data)
|
||||
* interrupt handler as well, so running the client irq handler from
|
||||
* this thread will cause things to lock up.
|
||||
*/
|
||||
if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ) {
|
||||
/*
|
||||
* generic_handle_irq expects local IRQs to be disabled
|
||||
* as normally it is called from interrupt context.
|
||||
*/
|
||||
local_irq_disable();
|
||||
generic_handle_irq(adap->client_irq);
|
||||
local_irq_enable();
|
||||
}
|
||||
if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ)
|
||||
generic_handle_irq_safe(adap->client_irq);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user