Skip to contentSkip to conversation

workqueue fixes for v3.7-rc2

GIT PULL Tejun Heo 1 participant 1 message Oct 24, 2012 Workqueue

lore
Share & tools
lore

Tejun Heo

author maintainer
#0 lore raw

Hello, Linus.

This pull request contains one patch from Dan Magenheimer to fix cancel_delayed_work() regression introduced by its reimplementation using try_to_grab_pending(). The reimplementation made it incorrectly return %true when the work item is idle. There aren't too many consumers of the return value but it broke at least ramster.

Please pull from the following branch to receive the fix.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-3.7-fixes

workqueue: cancel_delayed_work() should return %false if work item is idle (2012-10-24 12:38:16 -0700)

----------------------------------------------------------------
Dan Magenheimer (1):
workqueue: cancel_delayed_work() should return %false if work item is idle

 kernel/workqueue.c | 2 +-
 1 file changed, 1 insertion(+), 1

---

kernel/workqueue.c +1 -1
index d951daa..042d221 100644
@@ -2982,7 +2982,7 @@ bool cancel_delayed_work(struct delayed_work *dwork)
 
 	set_work_cpu_and_clear_pending(&dwork->work, work_cpu(&dwork->work));
 	local_irq_restore(flags);
-	return true;
+	return ret;
 }
 EXPORT_SYMBOL(cancel_delayed_work);