diff options
author | Sebastian Andrzej Siewior <[email protected]> | 2022-02-11 19:14:56 +0100 |
---|---|---|
committer | Wolfram Sang <[email protected]> | 2022-03-01 15:58:57 +0100 |
commit | a5ea32579f08b9f612e3091467d01b6503ba24dd (patch) | |
tree | 1eeab34dcedab20c4d833178575b13bab5e85169 | |
parent | 68ea1b2c3386ad484b7daa4a64fa7b3be661607f (diff) |
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 <[email protected]>
Reviewed-by: Hans de Goede <[email protected]>
Acked-by: Wolfram Sang <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
-rw-r--r-- | drivers/i2c/busses/i2c-cht-wc.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c index 1cf68f85b2e1..8ccf0c928bb4 100644 --- a/drivers/i2c/busses/i2c-cht-wc.c +++ b/drivers/i2c/busses/i2c-cht-wc.c @@ -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; } |