kernel-hacking-2024-linux-s.../drivers/net
Michael Chan 04237dddd1 [TG3]: Fix tg3_restart_ints()
tg3_restart_ints() is called to re-enable interrupts after tg3_poll()
has finished all the work. It calls tg3_cond_int() to force an interrupt
if the status block updated bit is set. The updated bit will be set if
there is a new status block update sometime during tg3_poll() and it can
be very often. The worst part is that even if all the work has been
processed, the updated bit remains set and an interrupt will be forced
unnecessarily.

The fix is to call tg3_has_work() instead to determine if new work is
posted before forcing an interrupt. The way to force an interrupt is
also changed to use "coalesce_now" instead of "SETINT". The former is
generally a safer way to force the interrupt.

Also deleted the first parameter to tg3_has_work() which is unused.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-25 15:17:17 -07:00
..
appletalk
arcnet
arm
bonding
cris
e1000
fec_8xx
hamradio [AX25] Introduce ax25_type_trans 2005-04-24 18:53:06 -07:00
ibm_emac
irda
ixgb
pcmcia
sk98lin
skfp
tokenring
tulip
wan
wireless
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
82596.c
a2065.c
a2065.h
ac3200.c
acenic.c
acenic.h
acenic_firmware.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atari_bionet.c
atari_pamsnet.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
b44.c
b44.h
bmac.c
bmac.h
bsd_comp.c
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
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
dummy.c
e100.c
e2100.c
eepro.c
eepro100.c
eexpress.c
eexpress.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
fmv18x.c
forcedeth.c
gianfar.c
gianfar.h
gianfar_ethtool.c
gianfar_phy.c
gianfar_phy.h
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c
hp-plus.c
hp.c
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ioc3-eth.c
isa-skeleton.c
iseries_veth.c
iseries_veth.h
jazzsonic.c
Kconfig
lance.c
lasi_82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c
Makefile
meth.c
meth.h
mii.c
mv643xx_eth.c [PATCH] ppc iomem annotations: mv643xx_eth 2005-04-25 07:55:58 -07:00
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne-h8300.c
ne.c
ne2.c
ne2k-pci.c
ne3210.c
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
oaknet.c
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_synctty.c
pppoe.c
pppox.c
r8169.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c
sis900.c
sis900.h
sk_g16.c
sk_g16.h
sk_mca.c
sk_mca.h
slhc.c
slip.c [SLIP]: Remove redundant NULL pointer checks prior to kfree 2005-04-24 18:59:30 -07:00
slip.h
smc-mca.c
smc-mca.h
smc-ultra.c
smc-ultra32.c
smc91x.c
smc91x.h
smc9194.c
smc9194.h
sonic.c
sonic.h
Space.c
starfire.c
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunbmac.h
sundance.c
sungem.c
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunhme.h
sunlance.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunqe.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunqe.h
tc35815.c
tg3.c [TG3]: Fix tg3_restart_ints() 2005-04-25 15:17:17 -07:00
tg3.h [TG3]: Add msi support 2005-04-21 17:13:25 -07:00
tlan.c
tlan.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
via-rhine.c
via-velocity.c
via-velocity.h
wd.c
yellowfin.c
znet.c
zorro8390.c