workqueue: use mod_delayed_work() instead of __cancel + queue
authorTejun Heo <tj@kernel.org>
Tue, 21 Aug 2012 20:18:24 +0000 (13:18 -0700)
committerTejun Heo <tj@kernel.org>
Tue, 21 Aug 2012 20:18:24 +0000 (13:18 -0700)
commite7c2f967445dd2041f0f8e3179cca22bb8bb7f79
treecb6c1d3593d2497e740d313f55592f41e8ae2039
parente0aecdd874d78b7129a64b056c20e529e2c916df
workqueue: use mod_delayed_work() instead of __cancel + queue

Now that mod_delayed_work() is safe to call from IRQ handlers,
__cancel_delayed_work() followed by queue_delayed_work() can be
replaced with mod_delayed_work().

Most conversions are straight-forward except for the following.

* net/core/link_watch.c: linkwatch_schedule_work() was doing a quite
  elaborate dancing around its delayed_work.  Collapse it such that
  linkwatch_work is queued for immediate execution if LW_URGENT and
  existing timer is kept otherwise.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
block/blk-core.c
block/blk-throttle.c
drivers/block/floppy.c
drivers/infiniband/core/mad.c
drivers/input/keyboard/qt2160.c
drivers/input/mouse/synaptics_i2c.c
net/core/link_watch.c