Message ID | 1504554972-2624-6-git-send-email-daniel.lezcano@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [V2,01/13] thermal/drivers/hisi: Fix missing interrupt enablement | expand |
On 08/09/2017 05:16, Eduardo Valentin wrote: > On Mon, Sep 04, 2017 at 09:56:05PM +0200, Daniel Lezcano wrote: >> The threaded interrupt inspect the sensors structure to look in the temp >> threshold field, but this field is read-only in all the code, except in the >> probe function before the threaded interrupt is set. In other words there >> is not race window in the threaded interrupt when reading the field value. > > > Sure? Not even if you have a userspace process read the zone temp via > sysfs and the polling workqueue reading the temp too? They are both read-only operations. There is no write-read race. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c index f523197..9ec5f29 100644 --- a/drivers/thermal/hisi_thermal.c +++ b/drivers/thermal/hisi_thermal.c @@ -221,14 +221,10 @@ static irqreturn_t hisi_thermal_alarm_irq(int irq, void *dev) static irqreturn_t hisi_thermal_alarm_irq_thread(int irq, void *dev) { struct hisi_thermal_data *data = dev; - struct hisi_thermal_sensor *sensor; - - mutex_lock(&data->thermal_lock); - sensor = &data->sensors; + struct hisi_thermal_sensor *sensor = &data->sensors; dev_crit(&data->pdev->dev, "THERMAL ALARM: T > %d\n", sensor->thres_temp); - mutex_unlock(&data->thermal_lock); thermal_zone_device_update(data->sensors.tzd, THERMAL_EVENT_UNSPECIFIED);