提交 93cacfd4 编写于 作者: J Joshua Scott 提交者: Guenter Roeck

hwmon: (adt7470) Allow faster removal

adt7470_remove will wait for the update thread to complete before
returning. This had a worst-case time of up to the user-configurable
auto_update_interval.

Replace msleep_interruptible with set_current_state and schedule_timeout
so that kthread_stop will interrupt the sleep.
Signed-off-by: NJoshua Scott <joshua.scott@alliedtelesis.co.nz>
Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
上级 feca3132
......@@ -273,9 +273,12 @@ static int adt7470_update_thread(void *p)
mutex_lock(&data->lock);
adt7470_read_temperatures(client, data);
mutex_unlock(&data->lock);
set_current_state(TASK_INTERRUPTIBLE);
if (kthread_should_stop())
break;
msleep_interruptible(data->auto_update_interval);
schedule_timeout(msecs_to_jiffies(data->auto_update_interval));
}
complete_all(&data->auto_update_stop);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册