linux/drivers/net
Lennert Buytenhek ee04448d88 mv643xx_eth: fix SMI bus access timeouts
The mv643xx_eth mii bus implementation uses wait_event_timeout() to
wait for SMI completion interrupts.

If wait_event_timeout() would return zero, mv643xx_eth would conclude
that the SMI access timed out, but this is not necessarily true --
wait_event_timeout() can also return zero in the case where the SMI
completion interrupt did happen in time but where it took longer than
the requested timeout for the process performing the SMI access to be
scheduled again.  This would lead to occasional SMI access timeouts
when the system would be under heavy load.

The fix is to ignore the return value of wait_event_timeout(), and
to re-check the SMI done bit after wait_event_timeout() returns to
determine whether or not the SMI access timed out.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-03 15:23:15 -05:00
..
appletalk
arcnet
arm at91_ether: request/free GPIO for PHY interrupt 2008-10-31 00:47:56 -04:00
atl1e
atlx atl1: fix vlan tag regression 2008-10-31 00:46:34 -04:00
bonding bonding: fix panic when taking bond interface down before removing module 2008-10-31 00:46:12 -04:00
can
chelsio
cris
cxgb3
e1000
e1000e
ehea ehea: Detect 16GB hugepages for firmware restriction 2008-10-27 14:49:55 -04:00
enic
fs_enet fs_enet: fix polling 2008-11-03 15:23:02 -05:00
hamradio
ibm_newemac ibm_newemac: Fix typo in flow control config option 2008-10-27 14:49:58 -04:00
igb
irda IRDA: remove double inclusion of module.h 2008-11-01 21:30:50 -07:00
ixgb
ixgbe
ixp2000
mlx4 mlx4: Setting the correct offset for default mac address 2008-10-27 14:50:03 -04:00
myri10ge myri10ge: fix stop/go mmio ordering 2008-10-31 00:46:15 -04:00
netxen
pcmcia
phy
qlge
sfc
skfp
tokenring
tulip dmfe: check pci_alloc_consistent errors 2008-10-27 14:49:02 -04:00
usb dm9601: runtime mac address change support 2008-10-27 15:13:29 -04:00
wan net: delete excess kernel-doc notation 2008-10-30 23:54:35 -07:00
wireless ath5k: honor FIF_BCN_PRBRESP_PROMISC in STA mode 2008-10-29 17:54:35 -04:00
3c59x.c
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
8139too.c
8390.c
8390.h
8390p.c
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c amd8111e: fix dma_free_coherent context 2008-10-31 00:47:43 -04:00
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c
b44.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c
bnx2.h
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h
bnx2x_link.c
bnx2x_link.h
bnx2x_main.c
bnx2x_reg.h
bnx2x.h
bsd_comp.c
cassini.c
cassini.h
cpmac.c
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c
fec_mpc52xx.c [netdrvr] fec_mpc52xx: Implement polling, to make netconsole work. 2008-10-22 07:26:49 -04:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c
gianfar_ethtool.c
gianfar_mii.c gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_mii.h gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_sysfs.c
gianfar.c gianfar: Don't reset TBI<->SerDes link if it's already up 2008-10-31 00:59:53 -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
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c
ipg.h
isa-skeleton.c
iseries_veth.c
jazzsonic.c
jme.c
jme.h
Kconfig net: kconfig cleanup 2008-11-03 15:23:12 -05:00
korina.c
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c net: Really remove all of LOOPBACK_TSO code. 2008-10-31 00:00:33 -07:00
lp486e.c
mac89x0.c
mac8390.c
macb.c
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c
Makefile
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: fix SMI bus access timeouts 2008-11-03 15:23:15 -05:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c
niu.h
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
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 pppoe: Fix socket leak. 2008-10-30 23:35:02 -07:00
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
qla3xxx.c
qla3xxx.h
r6040.c
r8169.c r8169: revert "read MAC address from EEPROM on init" 2008-10-26 09:35:05 -07:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c
sh_eth.h
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c
sky2.h
slhc.c
slip.c
slip.h
smc91x.c SMC91x: Fix compilation on some platforms. 2008-11-03 00:19:31 -08:00
smc91x.h
smc911x.c drivers/net/smc911x.c: Fix lockdep warning on xmit. 2008-11-02 08:45:23 -05:00
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
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
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tehuti_fw.h
tehuti.c
tehuti.h
tg3.c
tg3.h
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_mii.c
ucc_geth_mii.h
ucc_geth.c
ucc_geth.h
veth.c
via-rhine.c
via-velocity.c via-velocity: use driver string instead of dev->name before register_netdev() 2008-10-27 15:12:02 -04:00
via-velocity.h
virtio_net.c
wd.c
xen-netfront.c
xtsonic.c
yellowfin.c
znet.c
zorro8390.c