linux/drivers
Prashant Sreedharan 05b0aa5793 tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts
During driver load in tg3_init_one, if the driver detects DMA activity before
intializing the chip tg3_halt is called. As part of tg3_halt interrupts are
disabled using routine tg3_disable_ints. This routine was using mailbox value
which was not initialized (default value is 0). As a result driver was writing
0x00000001 to pci config space register 0, which is the vendor id / device id.

This driver bug was exposed because of the commit a7877b17a667 (PCI: Check only
the Vendor ID to identify Configuration Request Retry). Also this issue is only
seen in older generation chipsets like 5722 because config space write to offset
0 from driver is possible. The newer generation chips ignore writes to offset 0.
Also without commit a7877b17a667, for these older chips when a GRC reset is
issued the Bootcode would reprogram the vendor id/device id, which is the reason
this bug was masked earlier.

Fixed by initializing the interrupt mailbox registers before calling tg3_halt.

Please queue for -stable.

Reported-by: Nils Holland <nholland@tisys.org>
Reported-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: Prashant Sreedharan <prashant@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-22 16:13:32 -05:00
..
accessibility
acpi More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
amba Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
android
ata More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
atm Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
auxdisplay
base More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
bcma Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-12-11 17:56:37 -08:00
block Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2014-12-17 16:03:12 -08:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2014-12-15 13:23:09 -05:00
bus Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
cdrom
char Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-12-15 15:52:01 -08:00
clk Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
clocksource Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-12-11 17:56:37 -08:00
connector
coresight
cpufreq More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
cpuidle Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
crypto Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dca
devfreq
dio
dma Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dma-buf
edac Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
eisa
extcon Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
firewire firewire: sbp2: replace card lock by target lock 2014-12-10 20:53:21 +01:00
firmware Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
fmc
gpio Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpu Staging patches for 3.19-rc1 2014-12-15 18:06:13 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2014-12-12 10:26:47 -08:00
hsi * misc. fixes in omap-ssi and nokia-modem drivers 2014-12-15 17:33:47 -08:00
hv Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
hwmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-12-17 10:16:27 -08:00
hwspinlock
i2c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ide Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
idle
iio Staging patches for 3.19-rc1 2014-12-15 18:06:13 -08:00
infiniband Merge branches 'core', 'cxgb4', 'ipoib', 'iser', 'mlx4', 'ocrdma', 'odp' and 'srp' into for-next 2014-12-15 18:19:20 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
iommu ARM: SoC/iommu configuration for 3.19 2014-12-16 14:53:01 -08:00
ipack
irqchip Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
isdn Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-12-12 10:08:06 -08:00
leds More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
lguest virtio: allow finalize_features to fail 2014-12-09 16:32:32 +02:00
macintosh
mailbox Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mcb
md Three fixes for md 2014-12-14 12:13:05 -08:00
media More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
memory MTD updates for 3.19: 2014-12-17 09:59:26 -08:00
memstick
message
mfd Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
misc vhost/virtio: virtio 1.0 related fixes 2014-12-18 20:50:30 -08:00
mmc More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
mtd MTD updates for 3.19: 2014-12-17 09:59:26 -08:00
net tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts 2014-12-22 16:13:32 -05:00
nfc More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
ntb
nubus
of ARM: SoC/iommu configuration for 3.19 2014-12-16 14:53:01 -08:00
oprofile
parisc
parport Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
pci Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pcmcia Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
phy More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
pinctrl Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
platform platform-drivers-x86 for 3.19 2014-12-18 20:24:55 -08:00
pnp
power More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
powercap
pps
ps3
ptp
pwm pwm: Changes for v3.19-rc1 2014-12-17 10:10:51 -08:00
rapidio
ras
regulator Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
remoteproc Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
reset Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rpmsg
rtc Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
s390 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sbus
scsi More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
sfi
sh drivers: sh / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 03:08:24 +01:00
sn
soc Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-12-15 15:52:01 -08:00
spi More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
spmi
ssb Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-12-11 17:56:37 -08:00
staging More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
target Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-12-12 10:08:06 -08:00
tc
thermal Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-12-17 10:16:27 -08:00
thunderbolt
tty More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
uio Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
usb More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
uwb
vfio VFIO updates for v3.19-rc1 2014-12-17 10:44:22 -08:00
vhost vhost/virtio: virtio 1.0 related fixes 2014-12-18 20:50:30 -08:00
video More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
virt
virtio vhost/virtio: virtio 1.0 related fixes 2014-12-18 20:50:30 -08:00
vlynq
vme
w1 Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
watchdog watchdog: imx2_wdt: Fix the argument of watchdog_active() 2014-12-18 16:01:20 +01:00
xen xen: features and fixes for 3.19-rc0 2014-12-11 18:15:33 -08:00
zorro
Kconfig Staging patches for 3.19-rc1 2014-12-15 18:06:13 -08:00
Makefile Staging patches for 3.19-rc1 2014-12-15 18:06:13 -08:00