The LM90 driver uses level-based interrupt triggering. The interrupt handler prints a warning message about the breached temperature and quits. There is no way to stop interrupt from re-triggering since it's level-based, thus thousands of warning messages are printed per second once interrupt is triggered. Use edge-triggered interrupt in order to fix this trouble. Fixes: 109b1283fb532 ("hwmon: (lm90) Add support to handle IRQ") Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> --- drivers/hwmon/lm90.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c index ebbfd5f352c0..ce8ebe60fcdc 100644 --- a/drivers/hwmon/lm90.c +++ b/drivers/hwmon/lm90.c @@ -1908,7 +1908,7 @@ static int lm90_probe(struct i2c_client *client) dev_dbg(dev, "IRQ: %d\n", client->irq); err = devm_request_threaded_irq(dev, client->irq, NULL, lm90_irq_thread, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "lm90", client); if (err < 0) { dev_err(dev, "cannot request IRQ %d\n", client->irq); -- 2.30.2