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:
Sebastian Andrzej Siewior 2022-02-11 19:14:56 +01:00 committed by Wolfram Sang
parent 68ea1b2c33
commit a5ea32579f
1 changed files with 2 additions and 9 deletions

View File

@ -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 * interrupt handler as well, so running the client irq handler from
* this thread will cause things to lock up. * this thread will cause things to lock up.
*/ */
if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ) { if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ)
/* generic_handle_irq_safe(adap->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();
}
return IRQ_HANDLED; return IRQ_HANDLED;
} }