android_kernel_google_msm/drivers/net
Linus Torvalds 68380b5813 Add "run_scheduled_work()" workqueue function
This allows workqueue users to run just their own pending work, rather
than wait for the whole workqueue to finish running.  This solves the
deadlock with networking libphy that was due to other workqueue entries
possibly needing a lock that was held by the routine that wanted to
flush its own work.

It's not wonderful: if you absolutely need to synchronize with the work
function having been executed, any user strictly speaking should have
its own completion tracking logic, since when we run things explicitly
by hand, the generic workqueue layer can no longer help us synchronize.

Also, this is strictly only usable for work that has been scheduled
without any delayed timers.  You can not mix the new interface with
schedule_delayed_work().

But it's better than what we had currently.

Acked-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 09:28:19 -08:00
..
appletalk [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
arcnet
arm [PATCH] AT91RM9200 Ethernet: Use dev_alloc_skb() 2006-12-07 04:58:32 -05:00
bonding [PATCH] bonding: incorrect bonding state reported via ioctl 2006-12-04 18:36:02 -05:00
chelsio WorkQueue: Fix up arch-specific work items where possible 2006-12-05 19:36:26 +00:00
cris
e1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
ehea Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
fec_8xx
fs_enet [PATCH] PHY: Add support for configuring the PHY connection interface 2006-12-02 00:33:11 -05:00
hamradio [PATCH] hamradio/dmascc: fix up work_struct-induced breakage 2006-12-06 11:06:46 -08:00
ibm_emac [POWERPC] Make EMAC use generic DCR access methods 2006-12-04 16:08:31 +11:00
irda Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
ixgb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
ixp2000
myri10ge [PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx 2006-12-07 04:59:20 -05:00
netxen [netdrvr] netxen: workqueue-related build fixes 2006-12-07 06:30:07 -05:00
pcmcia Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-06 15:01:18 +00:00
phy Add "run_scheduled_work()" workqueue function 2006-12-07 09:28:19 -08:00
sk98lin [PATCH] sk98lin debug build fix 2006-12-04 18:36:03 -05:00
skfp
tokenring Merge branch 'master' into upstream 2006-12-07 04:57:19 -05:00
tulip Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
wan Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
wireless Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-12-07 09:09:52 -08:00
3c59x.c
3c501.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c501.h
3c503.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c503.h
3c505.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c505.h
3c507.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c509.c
3c515.c
3c523.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c523.h
3c527.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
3c527.h
7990.c
7990.h
8139cp.c
8139too.c
8390.c [PATCH] beginning of 8390 fixes - generic and arm/etherh 2006-12-02 00:11:56 -05:00
8390.h [PATCH] 8390 fixes - the final chunk (h8300) 2006-12-02 00:11:56 -05:00
82596.c
a2065.c
a2065.h
ac3200.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
acenic.c
acenic.h
acenic_firmware.h
amd8111e.c [PATCH] amd8111e use standard CRC lib 2006-12-02 00:22:30 -05:00
amd8111e.h [PATCH] amd8111e use standard CRC lib 2006-12-02 00:22:30 -05:00
apne.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ariadne.c
ariadne.h
at1700.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
atari_bionet.c
atari_pamsnet.c
atarilance.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
atp.c
atp.h
au1000_eth.c [PATCH] PHY: Add support for configuring the PHY connection interface 2006-12-02 00:33:11 -05:00
au1000_eth.h
b44.c
b44.h
bmac.c
bmac.h
bnx2.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
bnx2.h [BNX2]: Add new 5709 registers (part 2). 2006-12-02 21:24:25 -08:00
bnx2_fw.h [BNX2]: Re-organize firmware structures. 2006-12-02 21:24:22 -08:00
bnx2_fw2.h [BNX2]: New firmware to support 5709 (part 4). 2006-12-02 21:24:31 -08:00
bsd_comp.c
cassini.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
cassini.h
cs89x0.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
cs89x0.h
de600.c [PATCH] paravirt: header and stubs for paravirtualisation 2006-12-07 02:14:07 +01:00
de600.h
de620.c
de620.h
declance.c [PATCH] declance: Support the I/O ASIC LANCE w/o TURBOchannel 2006-12-04 18:36:02 -05:00
defxx.c [PATCH] defxx: Big-endian hosts support 2006-12-02 00:12:01 -05:00
defxx.h [PATCH] defxx: Big-endian hosts support 2006-12-02 00:12:01 -05:00
depca.c [PATCH] Remove unnecessary check in drivers/net/depca.c 2006-12-02 00:11:55 -05:00
depca.h
dgrs.c
dgrs.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
e2100.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
eepro.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
eepro100.c
eexpress.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
eexpress.h
epic100.c
eql.c
es3210.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
eth16i.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
forcedeth.c [PATCH] forcedeth: add support for new mcp67 device 2006-12-02 00:12:02 -05:00
gianfar.c [PATCH] PHY: Add support for configuring the PHY connection interface 2006-12-02 00:33:11 -05:00
gianfar.h [PATCH] PHY: Add support for configuring the PHY connection interface 2006-12-02 00:33:11 -05:00
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
hamachi.c
hp-plus.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
hp.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c [PATCH] 8390 fixes - m68k oddballs 2006-12-02 00:11:56 -05:00
ibmlana.c
ibmlana.h
ibmveth.c [PATCH] ibmveth: Remove ibmveth "liobn" field 2006-12-04 20:38:06 +11:00
ibmveth.h [PATCH] ibmveth: Remove ibmveth "liobn" field 2006-12-04 20:38:06 +11:00
ifb.c
ioc3-eth.c [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig [PATCH] chelsio: use standard CRC routines 2006-12-02 00:24:49 -05:00
lance.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
lasi_82596.c [PATCH] Pass struct dev pointer to dma_cache_sync() 2006-12-07 08:39:41 -08:00
lib8390.c [PATCH] beginning of 8390 fixes - generic and arm/etherh 2006-12-02 00:11:56 -05:00
LICENSE.SRC
lne390.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
loopback.c
lp486e.c
mac89x0.c
mac8390.c [PATCH] 8390 fixes - m68k oddballs 2006-12-02 00:11:56 -05:00
macb.c [PATCH] Atmel MACB ethernet driver 2006-12-02 00:12:04 -05:00
macb.h [PATCH] Atmel MACB ethernet driver 2006-12-02 00:12:04 -05:00
mace.c
mace.h
macmace.c
macsonic.c
Makefile [PATCH] Atmel MACB ethernet driver 2006-12-02 00:12:04 -05:00
meth.c [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c Merge branch 'master' into upstream 2006-12-07 04:57:19 -05:00
mv643xx_eth.h
mvme147.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
myri_code.h
myri_sbus.c [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
myri_sbus.h
natsemi.c
ne-h8300.c [PATCH] 8390 fixes - the final chunk (h8300) 2006-12-02 00:11:56 -05:00
ne.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ne2.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ne2k-pci.c
ne3210.c [PATCH] severing skbuff.h -> mm.h 2006-12-04 02:00:34 -05:00
netconsole.c netpoll queue cleanup 2006-12-02 21:22:37 -08:00
netx-eth.c
ni52.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ni52.h
ni65.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
ni65.h
ni5010.c
ni5010.h
ns83820.c Merge branch 'master' into upstream 2006-12-07 04:57:19 -05:00
oaknet.c
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c [NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb 2006-12-02 21:23:51 -08:00
pppox.c
qla3xxx.c
qla3xxx.h
r8169.c Merge tag 'r8169-upstream-20061204-00' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream 2006-12-07 05:05:58 -05:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
seeq8005.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c
sis190.c
sis900.c
sis900.h
sk_mca.c
sk_mca.h
skge.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
skge.h [PATCH] skge: fix sparse warnings 2006-12-07 04:59:20 -05:00
sky2.c [PATCH] sky2: sparse warnings 2006-12-07 04:59:20 -05:00
sky2.h [PATCH] sky2: sparse warnings 2006-12-07 04:59:20 -05:00
slhc.c
slip.c
slip.h
smc-mca.c
smc-ultra.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
smc-ultra32.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
smc91x.c WorkQueue: Fix up arch-specific work items where possible 2006-12-05 19:36:26 +00:00
smc91x.h [PATCH] net: smc91x add missing bracket 2006-12-04 18:36:03 -05:00
smc911x.c
smc911x.h
smc9194.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
smc9194.h
sonic.c
sonic.h
Space.c [NET]: The scheduled removal of the frame diverter. 2006-12-02 21:22:23 -08:00
spider_net.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
spider_net.h
spider_net_ethtool.c
starfire.c [PATCH] severing skbuff.h -> mm.h 2006-12-04 02:00:34 -05:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
sunbmac.c
sunbmac.h
sundance.c [PATCH] sundance: use NULL for pointer 2006-12-02 00:16:36 -05:00
sungem.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c Merge branch 'for-linus4' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird 2006-12-04 10:37:06 -08:00
sunhme.h
sunlance.c
sunqe.c
sunqe.h
tc35815.c
tg3.c [TG3]: Identify Serdes devices more clearly. 2006-12-07 00:24:09 -08:00
tg3.h [TG3]: Add TG3_FLG2_IS_NIC flag. 2006-12-07 00:21:14 -08:00
tlan.c
tlan.h
tsi108_eth.c [PATCH] Add tsi108/9 On Chip Ethernet device driver support 2006-12-02 00:12:03 -05:00
tsi108_eth.h [PATCH] Add tsi108/9 On Chip Ethernet device driver support 2006-12-02 00:12:03 -05:00
tun.c
typhoon-firmware.h
typhoon.c [PATCH] severing skbuff.h -> mm.h 2006-12-04 02:00:34 -05:00
typhoon.h
ucc_geth.c [PATCH] Adapt ucc_geth driver to use new of_platform_device support 2006-12-02 00:16:36 -05:00
ucc_geth.h
ucc_geth_phy.c
ucc_geth_phy.h
via-rhine.c
via-velocity.c
via-velocity.h
wd.c [PATCH] trivial missing __init in drivers/net/* 2006-12-04 16:07:19 -05:00
yellowfin.c
znet.c
zorro8390.c [PATCH] 8390 fixes - m68k oddballs 2006-12-02 00:11:56 -05:00