Commit a5ea3257 authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Wolfram Sang
Browse files

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: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Acked-by: default avatarWolfram Sang <wsa@kernel.org>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 68ea1b2c
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -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;
}