diff options
Diffstat (limited to 'include/linux/workqueue.h')
-rw-r--r-- | include/linux/workqueue.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 2a7b38d87018..b8abfc74d038 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -191,14 +191,15 @@ int execute_in_process_context(work_func_t fn, struct execute_work *); | |||
191 | 191 | ||
192 | /* | 192 | /* |
193 | * Kill off a pending schedule_delayed_work(). Note that the work callback | 193 | * Kill off a pending schedule_delayed_work(). Note that the work callback |
194 | * function may still be running on return from cancel_delayed_work(). Run | 194 | * function may still be running on return from cancel_delayed_work(), unless |
195 | * flush_scheduled_work() to wait on it. | 195 | * it returns 1 and the work doesn't re-arm itself. Run flush_workqueue() or |
196 | * cancel_work_sync() to wait on it. | ||
196 | */ | 197 | */ |
197 | static inline int cancel_delayed_work(struct delayed_work *work) | 198 | static inline int cancel_delayed_work(struct delayed_work *work) |
198 | { | 199 | { |
199 | int ret; | 200 | int ret; |
200 | 201 | ||
201 | ret = del_timer_sync(&work->timer); | 202 | ret = del_timer(&work->timer); |
202 | if (ret) | 203 | if (ret) |
203 | work_release(&work->work); | 204 | work_release(&work->work); |
204 | return ret; | 205 | return ret; |