linux/drivers
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
..
acorn
acpi
amba
atm [ATM] suni: cast arg properly in SONET_SETFRAMING 2006-03-20 22:35:16 -08:00
base
block [PATCH] regularize blk_cleanup_queue() use 2006-03-18 18:34:20 -05:00
bluetooth
cdrom
char [IA64] SGI SN drivers: don't report !sn2 hardware as an error 2006-03-07 15:27:59 -08:00
connector [CONNECTOR]: Use netlink_has_listeners() to avoind unnecessary allocations. 2006-03-20 22:21:40 -08:00
cpufreq
crypto
dio
edac [PATCH] EDAC: disable sysfs interface 2006-03-14 07:57:18 -08:00
eisa
fc4
firmware [PATCH] dcdbas: dcdbas_pdev referenced after platform_device_unregister on exit 2006-03-09 19:47:36 -08:00
hwmon
i2c
ide [PATCH] pcmcia: add another ide-cs CF card id 2006-03-01 10:52:12 +01:00
ieee1394 [PATCH] video1394: fix "return E;" typo 2006-02-28 20:53:43 -08:00
infiniband [NET]: Move destructor from neigh->ops to neigh_params 2006-03-20 22:25:41 -08:00
input [PATCH] Input: psmouse - disable autoresync 2006-03-10 22:09:33 -08:00
isdn [PATCH] i4l: fix compatiblity issue with big endian systems 2006-03-06 18:40:43 -08:00
macintosh [PATCH] macintosh: correct AC Power info in /proc/pmu/info 2006-03-14 07:57:17 -08:00
mca
md [PATCH] regularize blk_cleanup_queue() use 2006-03-18 18:34:20 -05:00
media [PATCH] Kconfig: swap VIDEO_CX88_ALSA and VIDEO_CX88_DVB 2006-03-18 12:12:18 -08:00
message
mfd
misc [PATCH] ibmasm: use after free fix 2006-03-09 19:47:37 -08:00
mmc [MMC] au1xmmc: Fix a compilation warning ('status' is not used) 2006-03-04 23:02:10 +00:00
mtd [PATCH] mtd_dataflash, fix block vs page erase 2006-03-14 07:57:17 -08:00
net [TG3]: netif_carrier_off runs too early; could still be queued when init fails 2006-03-20 22:39:21 -08:00
nubus
oprofile
parisc
parport [SERIAL] Fix two bugs in parport_serial 2006-03-05 21:25:40 +00:00
pci
pcmcia [PATCH] fix pcmcia_device_probe oops 2006-03-10 13:40:26 -08:00
pnp [PATCH] pnp bus type fix 2006-02-28 20:53:43 -08:00
rapidio
s390 [PATCH] regularize blk_cleanup_queue() use 2006-03-18 18:34:20 -05:00
sbus [SPARC64] bbc_i2c: Fix cpu check and add missing module license. 2006-03-20 01:16:34 -08:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2006-03-14 11:03:50 -08:00
serial [SUNSU]: Fix missing spinlock initialization. 2006-03-20 01:16:32 -08:00
sh
sn Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-02-28 20:56:24 -08:00
spi
tc
telephony
usb [PATCH] USB Serial: fix use-after-free bug in usb-serial core 2006-03-06 13:29:00 -08:00
video [PATCH] radeonfb: Fix static array overrun 2006-03-11 09:19:36 -08:00
w1
zorro
Kconfig
Makefile