android_kernel_google_msm/drivers/firewire
Tejun Heo f8637162b3 firewire: don't use PREPARE_DELAYED_WORK
commit 70044d71d3 upstream.

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.

firewire core-device and sbp2 have been been multiplexing work items
with multiple work functions.  Introduce fw_device_workfn() and
sbp2_lu_workfn() which invoke fw_device->workfn and
sbp2_logical_unit->workfn respectively and always use the two
functions as the work functions and update the users to set the
->workfn fields instead of overriding work functions using
PREPARE_DELAYED_WORK().

This fixes a variety of possible regressions since a2c1c57be8
"workqueue: consider work function when searching for busy work items"
due to which fw_workqueue lost its required non-reentrancy property.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: linux1394-devel@lists.sourceforge.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23 21:37:06 -07:00
..
core-card.c firewire: allow explicit flushing of iso packet completions 2012-03-18 22:15:39 +01:00
core-cdev.c firewire: fix libdc1394/FlyCap2 iso event regression 2013-08-04 16:26:02 +08:00
core-device.c firewire: don't use PREPARE_DELAYED_WORK 2014-03-23 21:37:06 -07:00
core-iso.c IEEE 1394 (FireWire) subsystem updates post v3.3: 2012-03-22 20:31:15 -07:00
core-topology.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
core-transaction.c firewire: core: convert AR-req handler lock from _irqsave to _bh 2012-02-22 22:36:01 +01:00
core.h firewire: allow explicit flushing of iso packet completions 2012-03-18 22:15:39 +01:00
init_ohci1394_dma.c ieee1394: move init_ohci1394_dma to drivers/firewire/ 2010-10-11 14:48:03 +02:00
Kconfig firewire: ohci: move runtime debug facility out of #ifdef 2012-03-10 17:41:19 +01:00
Makefile ieee1394: move init_ohci1394_dma to drivers/firewire/ 2010-10-11 14:48:03 +02:00
net.c firewire: net: fix use after free 2014-03-23 21:37:06 -07:00
nosy-user.h firewire: nosy: endianess fixes and annotations 2010-07-27 11:04:11 +02:00
nosy.c firewire: nosy: Use the macro DMA_BIT_MASK(). 2012-02-22 22:36:01 +01:00
nosy.h firewire: nosy: misc cleanups 2010-07-27 11:04:10 +02:00
ohci.c firewire: fix libdc1394/FlyCap2 iso event regression 2013-08-04 16:26:02 +08:00
ohci.h firewire: ohci: fix TI TSB82AA2 regression since 2.6.35 2010-10-17 14:09:12 +02:00
sbp2.c firewire: don't use PREPARE_DELAYED_WORK 2014-03-23 21:37:06 -07:00