]> git.baikalelectronics.ru Git - kernel.git/commit
staging/fwserial: don't use PREPARE_WORK
authorTejun Heo <tj@kernel.org>
Fri, 7 Mar 2014 15:24:50 +0000 (10:24 -0500)
committerTejun Heo <tj@kernel.org>
Fri, 7 Mar 2014 15:24:50 +0000 (10:24 -0500)
commit6e0e361fc6439d13de52463550ea3a5f3f4f56c0
tree8796d0ac5ae7774ba08a203e3647e7242a0e062e
parentc8a700d55eaaa2758e22542687c1d7c063598b82
staging/fwserial: don't use PREPARE_WORK

PREPARE_[DELAYED_]WORK() are being phased out.  They have few users
and a nasty surprise in terms of reentrancy guarantee as workqueue
considers work items to be different if they don't have the same work
function.

fwtty_peer->work is multiplexed with multiple work functions.
Introduce fwserial_peer_workfn() which invokes fwtty_peer->workfn and
always use it as the work function and update the users to set the
->workfn field instead of overriding the work function using
PREPARE_WORK().

It would probably be best to route this with other related updates
through the workqueue tree.

Compile tested.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Peter Hurley <peter@hurleysoftware.com>
drivers/staging/fwserial/fwserial.c
drivers/staging/fwserial/fwserial.h