Searched hist:"7 b2666ce445c700b8dcee994da44ddcf050a0842" (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/hwmon/ |
H A D | adt7470.c | diff 7b2666ce445c700b8dcee994da44ddcf050a0842 Thu Apr 07 12:13:12 CEST 2022 Armin Wolf <W_Armin@gmx.de> hwmon: (adt7470) Fix warning on module removal
When removing the adt7470 module, a warning might be printed:
do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffa006052b>] adt7470_update_thread+0x7b/0x130 [adt7470]
This happens because adt7470_update_thread() can leave the kthread in TASK_INTERRUPTIBLE state when the kthread is being stopped before the call of set_current_state(). Since kthread_exit() might sleep in exit_signals(), the warning is printed. Fix that by using schedule_timeout_interruptible() and removing the call of set_current_state(). This causes TASK_INTERRUPTIBLE to be set after kthread_should_stop() which might cause the kthread to exit.
Reported-by: Zheyu Ma <zheyuma97@gmail.com> Fixes: 93cacfd41f82 (hwmon: (adt7470) Allow faster removal) Signed-off-by: Armin Wolf <W_Armin@gmx.de> Tested-by: Zheyu Ma <zheyuma97@gmail.com> Link: https://lore.kernel.org/r/20220407101312.13331-1-W_Armin@gmx.de Signed-off-by: Guenter Roeck <linux@roeck-us.net>
|