Mark McLoughlin
14c998f034
virtio: virtio_net free transmit skbs in a timer
...
virtio_net currently only frees old transmit skbs just
before queueing new ones. If the queue is full, it then
enables interrupts and waits for notification that more
work has been performed.
However, a side-effect of this scheme is that there are
always xmit skbs left dangling when no new packets are
sent, against the Documentation/networking/driver.txt
guideline:
"... it is not allowed for your TX mitigation scheme
to let TX packets "hang out" in the TX ring unreclaimed
forever if no new TX packets are sent."
Add a timer to ensure that any time we queue new TX
skbs, we will shortly free them again.
This fixes an easily reproduced hang at shutdown where
iptables attempts to unload nf_conntrack and nf_conntrack
waits for an skb it is tracking to be freed, but virtio_net
never frees it.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-06-10 18:20:31 -04:00
..
appletalk
fix warning in drivers/net/appletalk/cops.c
2008-05-06 12:16:24 -04:00
arcnet
drivers/net/arcnet/arcnet.c: use time_* macros
2008-03-28 22:14:15 -04:00
arm
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-04-30 08:45:48 -07:00
atlx
Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
2008-06-04 11:50:00 -07:00
bonding
bonding: handle case of device named bonding_master
2008-05-14 22:35:04 -07:00
can
chelsio
cris
cxgb3
cxgb3 - fix EEH
2008-05-13 01:31:37 -04:00
e1000
e1000: convert uint16_t style integers to u16
2008-04-16 20:41:45 -04:00
e1000e
e1000e: use resource_size_t, not unsigned long, for phys addrs
2008-05-22 06:19:32 -04:00
ehea
ehea: set mac address fix
2008-06-10 18:20:23 -04:00
fec_8xx
fs_enet
drivers/net/fs_enet: remove null pointer dereference
2008-05-22 06:26:28 -04:00
hamradio
hamradio/scc: add missing block braces to multi-statement if
2008-05-22 06:03:31 -04:00
ibm_emac
ibm_newemac
ibm_newemac: Increase MDIO timeouts
2008-04-25 02:08:56 -04:00
igb
igb: save and restore pcie/msi state to support EEH recovery
2008-04-25 02:08:04 -04:00
irda
irda: net/irda build fix: mcs7780
2008-06-09 15:47:38 -07:00
ixgb
ixgb: convert uint16_t style integers to u16
2008-04-16 20:41:44 -04:00
ixgbe
ixgbe: fix typo
2008-06-10 18:20:15 -04:00
ixp2000
mlx4
mlx4_core: Support creation of FMRs with pages smaller than 4K
2008-05-05 15:56:52 -07:00
myri10ge
myri10ge: update driver version
2008-05-30 22:07:19 -04:00
netxen
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-04-25 12:28:28 -07:00
pcmcia
fmvj18x_cs: add NextCom NC5310 rev B support
2008-05-22 14:08:56 -04:00
phy
phylib: do EXPORT_SYMBOL on get_phy_id
2008-05-22 14:01:01 -04:00
sfc
sfc: Recover from RX queue flush failure
2008-06-10 18:20:21 -04:00
skfp
skfp annotations
2008-03-26 00:18:44 -04:00
tokenring
drivers/net/tokenring/olympic.c: fix warning
2008-05-22 06:03:30 -04:00
tulip
[netdrvr] tulip: oops in tulip_interrupt when hibernating with swsusp/suspend2
2008-05-30 22:10:11 -04:00
usb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-05-26 10:14:02 -07:00
wan
WAN: protect HDLC proto list while insmod/rmmod
2008-05-22 06:26:32 -04:00
wireless
iwlwifi: fix oops in iwl3945_led_brightness_set
2008-06-09 15:53:38 -04:00
3c59x.c
3c59x: use netstats in net_device structure
2008-05-06 12:22:11 -04:00
3c501.c
3c501: Further coding style fixes
2008-03-17 08:11:03 -04:00
3c501.h
3c503.c
3c503.h
3c505.c
3c505: use netstats in net_device structure
2008-04-29 01:55:11 -04:00
3c505.h
3c505: use netstats in net_device structure
2008-04-29 01:55:11 -04:00
3c507.c
3c509.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-05-26 10:14:02 -07:00
3c515.c
3c515: use netstats in net_device structure
2008-04-29 01:55:14 -04:00
3c523.c
3c523.h
3c527.c
Convert asm/semaphore.h users to linux/semaphore.h
2008-04-18 22:22:54 -04:00
3c527.h
7990.c
add missing lance_* exports
2008-06-10 18:20:17 -04:00
7990.h
8139cp.c
8139too.c
misc drivers/net annotations
2008-03-26 00:18:43 -04:00
8390.c
net: fix returning void-valued expression warnings
2008-05-01 02:47:38 -07:00
8390.h
82596.c
m68k: Some network drivers do not check the platform
2008-05-18 13:28:49 -07:00
a2065.c
a2065.h
ac3200.c
drivers/net/ac3200.c: replace init_module&cleanup_module with module_init&module_exit
2008-03-05 18:50:41 -08:00
acenic.c
acenic.h
acenic_firmware.h
amd8111e.c
amd8111e.h
apne.c
m68k: Some network drivers do not check the platform
2008-05-18 13:28:49 -07:00
ariadne.c
ariadne.h
at1700.c
/drivers/net/at1700.c replaced init_module&cleanup_module with module_init&module_exit
2008-03-17 07:49:27 -04:00
atarilance.c
/drivers/net/atarilance.c replaced init_module&cleanup_module with module_init&module_exit
2008-03-17 07:49:28 -04:00
atp.c
misc drivers/net annotations
2008-03-26 00:18:43 -04:00
atp.h
au1000_eth.c
au1000_eth: remove useless check
2008-05-22 06:20:14 -04:00
au1000_eth.h
ax88796.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
b44.c
ssb: Fix usage of struct device used for DMAing
2008-04-15 15:04:35 -04:00
b44.h
bfin_mac.c
Blackfin EMAC Driver: Removed duplicated include <linux/ethtool.h>
2008-05-22 06:20:11 -04:00
bfin_mac.h
Blackfin EMAC Driver: code cleanup
2008-04-29 01:56:14 -04:00
bmac.c
bmac.h
bnx2.c
bnx2: Update version to 1.7.5.
2008-05-02 16:58:18 -07:00
bnx2.h
[BNX2]: Disable parallel detect on an HP blade.
2008-02-23 19:48:57 -08:00
bnx2_fw.h
bnx2_fw2.h
bnx2: Update RV2P firmware for 5709.
2008-05-02 16:57:59 -07:00
bnx2x.c
BNX2X: Correct bringing chip out of reset
2008-04-09 15:25:46 -07:00
bnx2x.h
[BNX2X]: Fix Xmit bugs
2008-02-28 11:57:55 -08:00
bnx2x_fw_defs.h
[BNX2X]: Correct Link management
2008-02-28 11:51:50 -08:00
bnx2x_hsi.h
[BNX2X]: Correct Link management
2008-02-28 11:51:50 -08:00
bnx2x_init.h
[BNX2X]: Prevent PCI queue overflow
2008-02-28 11:57:29 -08:00
bnx2x_init_values.h
bnx2x_reg.h
[BNX2X]: Correct Link management
2008-02-28 11:51:50 -08:00
bsd_comp.c
cassini.c
cassini: Only use chip checksum for ipv4 packets.
2008-05-21 17:05:34 -07:00
cassini.h
cpmac.c
cpmac bugfixes and enhancements
2008-05-22 06:20:02 -04:00
cs89x0.c
[netdrvr] CS89X0: Add cleanup for dma after fail
2008-05-30 22:07:11 -04:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
misc drivers/net annotations
2008-03-26 00:18:43 -04:00
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
[netdrvr] dm9000: use delayed work to update mii phy state fix
2008-05-22 06:03:28 -04:00
dm9000.h
dummy.c
e100.c
net: use get/put_unaligned_* helpers
2008-04-29 08:06:27 -07:00
e2100.c
eepro.c
net: eepro autoport typo
2008-04-29 01:56:01 -04:00
eepro100.c
eexpress.c
[netdrvr] eexpress: IPv6 fails - multicast problems
2008-05-06 12:22:34 -04:00
eexpress.h
enc28j60.c
net/enc28j60: oops fix
2008-03-05 18:51:19 -08:00
enc28j60_hw.h
epic100.c
epic100 endianness annotations and fixes
2008-03-17 07:56:38 -04:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c
m68knommu: fix FEC driver locking
2008-05-01 08:08:36 -07:00
fec.h
m68knommu: fix ColdFire 5272 fec driver hash registers
2008-05-01 08:08:36 -07:00
fec_mpc52xx.c
[POWERPC] mpc5200: Allow for fixed speed MII configurations
2008-05-01 11:05:58 -06:00
fec_mpc52xx.h
[POWERPC] mpc5200: Allow for fixed speed MII configurations
2008-05-01 11:05:58 -06:00
fec_mpc52xx_phy.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
2008-04-17 23:56:30 -07:00
forcedeth.c
forcedeth: msi interrupts
2008-06-10 18:20:13 -04:00
gianfar.c
gianfar: Fix a bug where the pointer never moves for dma_unmap...
2008-05-13 01:31:38 -04:00
gianfar.h
gianfar: Fix a locking bug in gianfar's sysfs code
2008-05-06 12:01:34 -04:00
gianfar_ethtool.c
gianfar_mii.c
[netdrvr] gianfar: Determine TBIPA value dynamically
2008-04-29 01:57:57 -04:00
gianfar_mii.h
[netdrvr] gianfar: Determine TBIPA value dynamically
2008-04-29 01:57:57 -04:00
gianfar_sysfs.c
gianfar: Fix a locking bug in gianfar's sysfs code
2008-05-06 12:01:34 -04:00
hamachi.c
net: use get/put_unaligned_* helpers
2008-04-29 08:06:27 -07:00
hp-plus.c
hp.c
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
netdev: use non-racy method for proc entries creation
2008-04-29 08:06:22 -07:00
ibmveth.h
ifb.c
[NET] ifb: set separate lockdep classes for queue locks
2008-03-20 17:05:13 -07:00
ioc3-eth.c
[IOC3] Fix section missmatch
2008-03-17 08:11:41 -04:00
ipg.c
drivers/net/ipg.c: remove unused variable
2008-03-17 07:56:42 -04:00
ipg.h
isa-skeleton.c
iseries_veth.c
[POWERPC] properly declare onstack completion in iseries veth
2008-04-17 07:46:11 +10:00
jazzsonic.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
Kconfig
missing dependencies on HAS_DMA
2008-05-21 16:55:59 -07:00
korina.c
korina: misc cleanup
2008-04-25 02:08:51 -04:00
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.
2008-03-26 04:39:53 +09:00
lp486e.c
mac89x0.c
m68k: Some network drivers do not check the platform
2008-05-18 13:28:49 -07:00
mac8390.c
macb.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
macb.h
mace.c
mace.h
macmace.c
m68k: Some network drivers do not check the platform
2008-05-18 13:28:49 -07:00
macsonic.c
macvlan.c
macvlan: Fix memleak on device removal/crash on module removal
2008-05-08 01:13:31 -07:00
Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-04-30 08:45:48 -07:00
meth.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c
mv643xx_eth: inter-mv643xx SMI port sharing
2008-04-28 21:17:07 -07:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
natsemi: fix MMIO for PPC 44x platforms
2008-04-17 15:31:31 -04:00
ne-h8300.c
ne.c
ne2.c
ne2k-pci.c
more misannotations: ne2k-pci
2008-03-17 07:56:33 -04:00
ne3210.c
netconsole.c
netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole
2008-04-15 00:49:04 -07:00
netx-eth.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
ni52.c
ni52: more unbreaking
2008-03-26 00:18:04 -04:00
ni52.h
ni52: unbreak scp_struct
2008-03-26 00:18:00 -04:00
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c
niu: Determine the # of ports from the card's VPD data
2008-05-12 03:10:59 -07:00
niu.h
niu: Determine the # of ports from the card's VPD data
2008-05-12 03:10:59 -07:00
ns83820.c
pasemi_mac.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2008-04-21 15:50:49 -07:00
pasemi_mac.h
pasemi_mac: basic ethtool support
2008-03-05 16:34:41 -06:00
pasemi_mac_ethtool.c
pasemi_mac: basic ethtool support
2008-03-05 16:34:41 -06:00
pci-skeleton.c
pcnet32.c
pcnet32: fix warning
2008-05-22 06:03:29 -04:00
plip.c
plip: replace spin_lock_irq with spin_lock_irqsave in irq context
2008-04-01 11:16:04 -07:00
ppp_async.c
tty: add throttle/unthrottle helpers
2008-04-30 08:29:47 -07:00
ppp_deflate.c
ppp_generic.c
ppp: Do not free not yet unregistered net device.
2008-05-13 23:51:18 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
tty: add throttle/unthrottle helpers
2008-04-30 08:29:47 -07:00
pppoe.c
netdev: use non-racy method for proc entries creation
2008-04-29 08:06:22 -07:00
pppol2tp.c
l2tp: Fix possible oops if transmitting or receiving when tunnel goes down
2008-06-04 15:54:07 -07:00
pppox.c
ps3_gelic_net.c
[POWERPC] PS3: Gelic network driver Wake-on-LAN support
2008-04-01 20:43:08 +11:00
ps3_gelic_net.h
[POWERPC] PS3: Gelic network driver Wake-on-LAN support
2008-04-01 20:43:08 +11:00
ps3_gelic_wireless.c
PS3: gelic: fix memory leak
2008-05-12 21:44:41 -04:00
ps3_gelic_wireless.h
PS3: gelic: Add wireless support for PS3
2008-02-11 10:30:05 -05:00
qla3xxx.c
qla3xxx: convert byte order of constant instead of variable
2008-03-26 00:19:43 -04:00
qla3xxx.h
r6040.c
r6040 endianness fixes
2008-03-17 07:56:27 -04:00
r8169.c
r8169: fix oops in r8169_get_mac_version
2008-04-17 22:48:41 +02:00
rionet.c
[RAPIDIO] Auto-probe the RapidIO system size
2008-04-29 19:40:28 +10:00
rrunner.c
rrunner.h
s2io-regs.h
S2io: Added napi support when MSIX is enabled.
2008-05-22 06:26:21 -04:00
s2io.c
S2io: Version update for napi and MSI-X patches
2008-05-22 06:26:22 -04:00
s2io.h
S2io: Added napi support when MSIX is enabled.
2008-05-22 06:26:21 -04:00
saa9730.c
saa9730.h
sb1000.c
sb1000.c: make const arrays static
2008-04-16 20:41:44 -04:00
sb1250-mac.c
sb1250: use netdev_alloc_skb
2008-05-22 06:18:55 -04:00
sc92031.c
sc92031: remove bogus unlikely()
2008-05-30 22:07:17 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
sgiseeq.h
sis190.c
sis190: account for Tx errors
2008-04-27 18:19:08 +02:00
sis900.c
sis900.h
skge.c
netxen, phy/marvell, skge: minor checkpatch fixes
2008-03-25 23:53:24 -04:00
skge.h
sky2.c
sky2: restore vlan acceleration on reset
2008-05-22 05:59:36 -04:00
sky2.h
sky2: fix simple define thinko
2008-05-13 01:31:44 -04:00
slhc.c
slip.c
tty: The big operations rework
2008-04-30 08:29:47 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
smc91x.h
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
2008-04-17 23:56:30 -07:00
smc911x.c
smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt}
2008-04-25 02:08:55 -04:00
smc911x.h
smc9194.c
smc9194.h
sni_82596.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
sonic.c
sonic.h
Space.c
spider_net.c
spidernet: revise link status logging
2008-04-16 20:06:50 -04:00
spider_net.h
spidernet: change interrupt masks
2008-04-16 20:06:50 -04:00
spider_net_ethtool.c
starfire.c
[NET]: Undo code bloat in hot paths due to print_mac().
2008-04-08 16:50:44 -07:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
m68k: Some network drivers do not check the platform
2008-05-18 13:28:49 -07:00
sunbmac.c
sunbmac.h
sundance.c
sungem.c
[SUNGEM]: Fix NAPI assertion failure.
2008-03-23 03:35:12 -07:00
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c
sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags.
2008-06-04 12:06:28 -07:00
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tc35815: Statistics cleanup
2008-04-17 15:31:31 -04:00
tehuti.c
drivers/net/tehuti: use proper capability check for raw IO access
2008-04-29 11:45:16 -07:00
tehuti.h
tehuti_fw.h
tg3.c
tg3: Update version to 3.92.1
2008-06-09 15:41:33 -07:00
tg3.h
tg3: Add link state reporting to UMP firmware
2008-05-02 16:49:29 -07:00
tlan.c
tlan: add static to function definitions
2008-02-23 23:57:46 -05:00
tlan.h
tsi108_eth.c
net drivers: fix platform driver hotplug/coldplug
2008-04-25 02:08:54 -04:00
tsi108_eth.h
tun.c
tun: Multicast handling in tun_chr_ioctl() needs proper locking.
2008-04-24 03:44:43 -07:00
typhoon-firmware.h
typhoon.c
[netdrvr] typhoon: typhoon_resume - remove call to start_queue
2008-04-25 02:08:08 -04:00
typhoon.h
ucc_geth.c
ucc_geth: Fix arguments to dma map/unmap functions
2008-05-22 06:19:24 -04:00
ucc_geth.h
ucc_geth: Fix a bunch of sparse warnings
2008-05-06 12:02:08 -04:00
ucc_geth_ethtool.c
ucc_geth_ethtool: Add a missing HW stats counter
2008-05-30 22:07:24 -04:00
ucc_geth_mii.c
ucc_geth: Fix a bunch of sparse warnings
2008-05-06 12:02:08 -04:00
ucc_geth_mii.h
veth.c
[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.
2008-03-26 04:39:53 +09:00
via-rhine.c
[netdrvr] via-rhine: Use register offset definition for WOLcgClr
2008-02-24 00:07:37 -05:00
via-velocity.c
via-velocity: fix vlan receipt
2008-04-25 02:45:23 -04:00
via-velocity.h
virtio_net.c
virtio: virtio_net free transmit skbs in a timer
2008-06-10 18:20:31 -04:00
wd.c
xen-netfront.c
NETFRONT: Use __skb_queue_purge()
2008-05-22 14:01:03 -04:00
yellowfin.c
net: use get/put_unaligned_* helpers
2008-04-29 08:06:27 -07:00
znet.c
zorro8390.c