Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93cacfd4 authored by Joshua Scott's avatar Joshua Scott Committed by Guenter Roeck
Browse files

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: default avatarJoshua Scott <joshua.scott@alliedtelesis.co.nz>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent feca3132
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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);