From: Guenter Roeck Date: Tue, 28 Dec 2021 15:59:26 +0000 (-0800) Subject: hwmon: (lm90) Only disable alerts if not already disabled X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b1526b38e363bd87840c0e2c22a16e6fd42fea56;p=linux.git hwmon: (lm90) Only disable alerts if not already disabled It was observed that the alert handler may be called from the i2c core even after alerts have already been disabled. Only disable alerts if they have not already been disabled. Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c index c7bf288c84016..3f49b2e5e9c4c 100644 --- a/drivers/hwmon/lm90.c +++ b/drivers/hwmon/lm90.c @@ -2660,8 +2660,10 @@ static void lm90_alert(struct i2c_client *client, enum i2c_alert_protocol type, if ((data->flags & LM90_HAVE_BROKEN_ALERT) && (data->current_alarms & data->alert_alarms)) { - dev_dbg(&client->dev, "Disabling ALERT#\n"); - lm90_update_confreg(data, data->config | 0x80); + if (!(data->config & 0x80)) { + dev_dbg(&client->dev, "Disabling ALERT#\n"); + lm90_update_confreg(data, data->config | 0x80); + } schedule_delayed_work(&data->alert_work, max_t(int, HZ, msecs_to_jiffies(data->update_interval))); }