kernel-ark/drivers/net
Jeff Mahoney 59f1741e54 [TG3]: netif_carrier_off runs too early; could still be queued when init fails
Move the netif_carrier_off() call from tg3_init_one()->
tg3_init_link_config() to tg3_open() as is the convention for most other
network drivers.

I was getting a panic after a tg3 device failed to initialize due to DMA
failure.  The oops pointed to the link watch queue with spinlock debugging
enabled.  Without spinlock debugging, the Oops didn't occur.

I suspect that the link event was getting queued but not executed until
after the DMA test had failed and the device was freed.  The link event was
then operating on freed memory, which could contain anything.  With this
patch applied, the Oops no longer occurs.

[ Based upon feedback from Michael Chan, we move netif_carrier_off()
  to the end of tg3_init_one() instead of moving it to tg3_open() -DaveM ]

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-20 22:39:21 -08:00
..
appletalk
arcnet
arm
bonding Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
chelsio Merge branch 'upstream-fixes' 2006-03-16 19:27:08 -05:00
cris
e1000 [NET]: dev_put/dev_hold cleanup 2006-03-20 22:32:28 -08:00
fec_8xx
fs_enet
hamradio
ibm_emac
irda [IRDA]: remove MODULE_PARM() 2006-03-20 22:33:41 -08:00
ixgb
ixp2000
pcmcia Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
phy Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
sk98lin
skfp Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
tokenring Merge branch 'from-linus' 2006-02-27 20:12:23 -05:00
tulip Merge branch 'upstream-fixes' 2006-03-11 13:35:31 -05:00
wan [WAN]: fix section mismatch warning in sbni 2006-03-20 22:34:52 -08:00
wireless [PATCH] ipw2100: Update version ipw2100 stamp to 1.2.2 2006-03-17 16:14:48 -05:00
3c59x.c Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c [PATCH] 3c509: use proper suspend/resume API 2006-03-11 20:32:17 -05:00
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
8139too.c [NET]: Convert RTNL to mutex. 2006-03-20 22:23:58 -08:00
8390.c
8390.h
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.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
bnx2_fw.h Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
bnx2.c [BNX2]: include <linux/vmalloc.h> 2006-03-20 17:55:25 -08:00
bnx2.h [BNX2]: include <linux/vmalloc.h> 2006-03-20 17:55:25 -08:00
bsd_comp.c
cassini.c [CASSINI]: sem2mutex 2006-03-20 22:34:09 -08:00
cassini.h [CASSINI]: sem2mutex 2006-03-20 22:34:09 -08:00
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c [PATCH] de620: fix section mismatch warning 2006-03-11 13:29:09 -05:00
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
dgrs.h
dl2k.c Merge branch 'upstream-fixes' 2006-03-11 13:35:31 -05:00
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c Merge branch 'upstream-fixes' 2006-03-16 19:27:08 -05:00
e2100.c
eepro100.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
eepro.c
eexpress.c
eexpress.h
epic100.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
fec.c
fec.h
forcedeth.c
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c
gianfar.h
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig [PATCH] CONFIG_FORCEDETH updates 2006-03-11 20:32:17 -05:00
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
mipsnet.c
mipsnet.h
mv643xx_eth.c [PATCH] mv643xx_eth: Remove non-working feature: task level rx queue refill 2006-03-03 12:12:37 -05:00
mv643xx_eth.h [PATCH] mv643xx_eth: Remove BIT0-BIT31 #defines 2006-03-03 12:12:37 -05:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [PATCH] natsemi: NAPI and a bugfix 2006-03-04 12:14:56 -05:00
ne2.c
ne2k-pci.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
ne3210.c
ne-h8300.c
ne.c
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
oaknet.c
pci-skeleton.c
pcnet32.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
plip.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
pppoe.c
pppox.c
r8169.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c Merge branch 'upstream-fixes' 2006-03-04 12:07:07 -05:00
s2io.h Merge branch 'lro' 2006-03-02 14:26:30 -05:00
saa9730.c
saa9730.h
sb1000.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
sb1250-mac.c [PATCH] sb1250-mac: Add support for the BCM1480 2006-03-03 21:23:02 -05:00
seeq8005.c
seeq8005.h
sgiseeq.c [PATCH] Sparse: Cleanup sgiseeq sparse warnings. 2006-03-11 20:32:17 -05:00
sgiseeq.h
shaper.c
sis190.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
sis900.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
sis900.h
sk_mca.c
sk_mca.h
skge.c
skge.h
sky2.c sky2: truncate oversize packets 2006-03-09 23:19:03 +01:00
sky2.h [PATCH] sky2: remove MSI support 2006-02-28 18:06:25 -05:00
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.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 Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c Merge branch 'net-const' 2006-03-03 22:22:45 -05:00
sungem_phy.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
sungem_phy.h
sungem.c [SUNGEM]: sem2mutex 2006-03-20 22:34:25 -08:00
sungem.h [SUNGEM]: sem2mutex 2006-03-20 22:34:25 -08:00
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
tc35815.c
tg3.c [TG3]: netif_carrier_off runs too early; could still be queued when init fails 2006-03-20 22:39:21 -08:00
tg3.h [TG3]: Add firmware version info 2006-03-20 22:29:32 -08:00
tlan.c [PATCH] drivers/net/tlan.c: #ifdef CONFIG_PCI the PCI specific code 2006-02-24 00:20:08 -05:00
tlan.h
tun.c [TUN]: Fix leak in tun_get_user() 2006-03-11 18:49:13 -08:00
typhoon-firmware.h
typhoon.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
typhoon.h
via-rhine.c
via-velocity.c via-velocity: fix memory corruption when changing the mtu 2006-02-27 23:11:08 +01:00
via-velocity.h
wd.c
yellowfin.c Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
znet.c
zorro8390.c