kernel-ark/drivers/net
Francois Romieu d78ae2dcc2 r8169: workaround against ignored TxPoll writes (8168)
The 8168 ignores the requests to fetch the Tx descriptors when
the relevant TxPoll bit is already set. It easily kills the
performances of the 8168. David Gundersen has noticed that it
is enough to wait for the completion of the DMA transfer (NPQ
bit is cleared) before writing the TxPoll register again.

The extra IO traffic added by the proposed workaround could be
minimalized but it is not a high-priority task.

Fix for:
http://bugzilla.kernel.org/show_bug.cgi?id=7924
http://bugzilla.kernel.org/show_bug.cgi?id=8688
(http://bugzilla.kernel.org/show_bug.cgi?id=7555 ?)

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: David Gundersen <gundy@iinet.net.au>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
2007-09-19 21:52:18 +02:00
..
appletalk
arcnet
arm [ARM] rpc: silence two section mismatch warnings 2007-07-20 09:39:56 +01:00
atl1 atl1: disable broken 64-bit DMA 2007-09-12 23:54:50 -04:00
bonding [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
chelsio
cris
cxgb3 - cxgb3 engine microcode load 2007-08-31 07:29:08 -04:00
e1000 e1000: Add device IDs of new 82571 board variants 2007-08-14 01:54:47 -04:00
ehea ehea: fix last_rx update 2007-09-13 00:13:51 -04:00
fec_8xx
fs_enet
hamradio bpqether: fix rcu usage 2007-07-31 15:39:40 -07:00
ibm_emac
irda [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver 2007-08-26 18:35:44 -07:00
ixgb [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ixp2000
mlx4 mlx4_core: Wait 1 second after reset before accessing device 2007-08-13 08:47:44 -07:00
myri10ge myri10ge: update driver version to 1.3.2-1.269 2007-08-25 02:31:25 -04:00
netxen netxen: fix crashes during module unload 2007-08-31 06:52:57 -04:00
pcmcia drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo 2007-09-15 19:41:43 -04:00
phy Fix a lock problem in generic phy code 2007-09-13 00:12:43 -04:00
sk98lin sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
skfp Typo fixes errror -> error 2007-07-31 15:39:42 -07:00
tokenring drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
tulip DDB5477: remove driver bits of support 2007-07-31 15:39:38 -07:00
usb Fix a potential NULL pointer dereference in write_bulk_callback() in drivers/net/usb/pegasus.c 2007-07-30 15:44:50 -04:00
wan [WAN] drivers/net/wan/hdlc_fr.c: kmalloc + memset conversion to kzalloc 2007-08-13 22:52:11 -07:00
wireless [PATCH] bcm43xx: Fix cancellation of work queue crashes 2007-09-14 14:32:23 -04:00
3c59x.c 3c59x: fix duplex configuration 2007-08-14 01:38:37 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8139too.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8390.c
8390.h
82596.c netdev: i82596 Ethernet needs <asm/cacheflush.h> 2007-07-24 16:28:42 -04:00
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c drivers/net/acenic.c: fix check-after-use 2007-07-24 16:28:41 -04:00
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c ax88796 printk fixes 2007-08-14 01:34:53 -04:00
b44.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
b44.h
bfin_mac.c Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) 2007-07-25 14:09:54 +08:00
bfin_mac.h Blackfin ethernet driver: on chip ethernet MAC controller driver 2007-07-18 18:38:25 -04:00
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c [BNX2]: Add write posting comment. 2007-08-28 15:39:42 -07:00
bnx2.h [BNX2]: Support NVRAM on 5709. 2007-07-18 01:46:46 -07:00
bsd_comp.c [NET]: Avoid pointless allocation casts in BSD compression module 2007-08-26 18:35:45 -07:00
cassini.c
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c defxx: Use __maybe_unused rather than a local hack 2007-07-24 16:28:41 -04:00
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c
dl2k.h
dm9000.c DM9000: fix interface hang under load 2007-08-25 02:31:04 -04:00
dm9000.h
dummy.c
e100.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
e2100.c
eepro100.c [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails 2007-07-17 16:17:59 -04:00
eepro.c
eexpress.c
eexpress.h
epic100.c
eql.c [EQL]: sparse warning fix 2007-08-26 18:35:38 -07:00
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c setup and detect 2nd phy on MCF5275 in FEC driver 2007-07-30 10:52:09 -07:00
fec.h
forcedeth.c fix realtek phy id in forcedeth 2007-08-25 02:30:57 -04:00
gianfar_ethtool.c
gianfar_mii.c gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_mii.h gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_sysfs.c
gianfar.c Fix RGMII-ID handling in gianfar 2007-07-18 18:29:37 -04:00
gianfar.h
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c drivers/net/ibmveth.c: memset fix 2007-08-07 17:36:20 -04:00
ibmveth.h ibmveth: Fix rx pool deactivate oops 2007-08-07 17:34:13 -04:00
ifb.c
ioc3-eth.c IOC3: Program UART predividers. 2007-08-31 06:52:57 -04:00
isa-skeleton.c
iseries_veth.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
jazzsonic.c
Kconfig sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
lance.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
lasi_82596.c
lguest_net.c lguest: documentation VII: FIXMEs 2007-07-26 11:35:17 -07:00
lib8390.c lib8390: comment on locking by Alan Cox 2007-07-30 15:47:20 -04:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c [NET] loopback: Panic if registration fails 2007-07-31 02:28:14 -07:00
lp486e.c
mac89x0.c mac89x0: missing __init 2007-07-20 08:24:49 -07:00
mac8390.c
macb.c macb: Add multicast capability 2007-07-16 18:28:04 -04:00
macb.h macb: Use generic PHY layer 2007-07-16 18:28:04 -04:00
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
Makefile sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
meth.c Don't use GFP_DMA for zone allocation. 2007-08-25 02:30:59 -04:00
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c mv643xx_eth: Fix tx_bytes stats calculation 2007-09-15 19:31:13 -04:00
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c natsemi: fix netdev error acounting 2007-08-14 01:36:39 -04:00
ne2.c
ne2k-pci.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c NI5010: Handle multicast frames. 2007-07-18 18:29:38 -04:00
ni5010.h
ns83820.c NS83820: Handle multicast frames. 2007-07-18 18:29:37 -04:00
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
plip.c
ppp_async.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_deflate.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_generic.c [PPP] generic: Fix receive path data clobbering & non-linear handling 2007-09-16 16:22:13 -07:00
ppp_mppe.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_mppe.h
ppp_synctty.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pppoe.c [NET] skbuff: Add skb_cow_head 2007-09-16 16:21:16 -07:00
pppol2tp.c misannotation in pppol2tp 2007-07-26 11:11:57 -07:00
pppox.c [PPPoX/E]: return ENOTTY on unknown ioctl requests 2007-07-31 02:28:22 -07:00
ps3_gelic_net.c PS3: fix the bug that 'ifconfig down' would hang 2007-08-31 06:52:57 -04:00
ps3_gelic_net.h ps3: reduce allocation size of rx skb buffers 2007-07-24 16:28:41 -04:00
qla3xxx.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
qla3xxx.h
r8169.c r8169: workaround against ignored TxPoll writes (8168) 2007-09-19 21:52:18 +02:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h S2io: Mask spurious interrupts 2007-07-30 15:56:04 -04:00
s2io.c fix s2io regression 2007-08-03 15:10:44 -07:00
s2io.h S2IO: Checking for the return value of pci map function 2007-07-30 15:56:04 -04:00
saa9730.c SAA9730: Handle multicast frames. 2007-07-18 18:29:38 -04:00
saa9730.h
sb1000.c
sb1250-mac.c
sc92031.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c sgiseeq: Fix return type of sgiseeq_remove 2007-08-25 02:31:13 -04:00
sgiseeq.h
shaper.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sis190.c sis190 check for ISA bridge on SiS966 2007-08-07 17:18:32 -04:00
sis900.c
sis900.h
skge.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
skge.h
sky2.c sky2: restore multicast list on resume and other ops 2007-09-13 00:02:49 -04:00
sky2.h sky2: only bring up watchdog if link is active 2007-08-25 02:31:08 -04:00
slhc.c
slip.c [SLIP]: trivial sparse warning fix 2007-08-26 18:35:39 -07:00
slip.h
smc91x.c
smc91x.h net: smc91x: Build fixes for general sh boards. 2007-08-07 17:18:31 -04:00
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
spider_net_ethtool.c
spider_net.c spidernet: fix interrupt reason recognition 2007-09-13 00:16:31 -04:00
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c
sunhme.h
sunlance.c [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. 2007-07-30 18:23:39 -07:00
sunqe.c
sunqe.h
sunvnet.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sunvnet.h [SPARC64]: Add proper multicast support to VNET driver. 2007-07-20 17:14:30 -07:00
tc35815.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
tg3.c [TG3]: Workaround MSI bug on 5714/5780. 2007-09-11 10:28:44 +02:00
tg3.h [TG3]: Fix msi issue with kexec/kdump. 2007-07-18 21:49:10 -07:00
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
ucc_geth_ethtool.c ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c 2007-08-03 16:08:15 +08:00
ucc_geth_mii.c ucc_geth: fix section mismatch 2007-08-03 16:07:58 +08:00
ucc_geth_mii.h
ucc_geth.c ucc_geth: fix compilation 2007-09-15 19:32:01 -04:00
ucc_geth.h ucc_geth: add ethtool support 2007-07-24 16:28:38 -04:00
via-rhine.c via-rhine: disable rx_copybreak on archs that don't allow unaligned DMA access 2007-08-14 01:27:10 -04:00
via-velocity.c in-string typos of "error" 2007-07-31 15:39:40 -07:00
via-velocity.h
wd.c
xen-netfront.c xen-netfront: Avoid deref'ing skbafter it is potentially freed. 2007-08-14 01:51:09 -04:00
yellowfin.c
znet.c
zorro8390.c