diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index 7eae866..ce0719a 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -160,7 +160,7 @@ static inline int cancel_delayed_work(struct delayed_work *work)
 {
 	int ret;
 
-	ret = del_timer(&work->timer);
+	ret = del_timer_sync(&work->timer);
 	if (ret)
 		work_clear_pending(&work->work);
 	return ret;
