linux/drivers
Ben Hutchings bd614669ff PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()
commit 30da552428 upstream.

commit 2ca1af9aa3285c6a5f103ed31ad09f7399fc65d7 "PCI: MSI: Remove
unsafe and unnecessary hardware access" changed read_msi_msg_desc() to
return the last MSI message written instead of reading it from the
device, since it may be called while the device is in a reduced
power state.

However, the pSeries platform code really does need to read messages
from the device, since they are initially written by firmware.
Therefore:
- Restore the previous behaviour of read_msi_msg_desc()
- Add new functions get_cached_msi_msg{,_desc}() which return the
  last MSI message written
- Use the new functions where appropriate

Acked-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-20 13:17:44 -07:00
..
accessibility
acpi ACPI: Fix regression where _PPC is not read at boot even when ignore_ppc=0 2010-08-13 13:20:17 -07:00
amba
ata sata_mv: fix broken DSM/TRIM support (v2) 2010-09-20 13:17:44 -07:00
atm solos-pci: Fix race condition in tasklet RX handling 2010-08-13 13:19:34 -07:00
auxdisplay
base firmware_class: fix memory leak - free allocated pages 2010-08-02 10:21:25 -07:00
block loop: Update mtime when writing using aops 2010-08-13 13:20:23 -07:00
bluetooth Bluetooth: Added support for controller shipped with iMac i5 2010-08-13 13:19:47 -07:00
cdrom
char nvram: Fix write beyond end condition; prove to gcc copy is safe 2010-08-13 13:19:31 -07:00
clocksource clocksource: sh_cmt: compute mult and shift before registration 2010-07-05 11:11:02 -07:00
connector
cpufreq revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)" 2010-08-02 10:21:25 -07:00
cpuidle cpuidle: Fix incorrect optimization 2010-05-12 14:57:16 -07:00
crypto
dca
dio
dma
edac amd64_edac: Correct scrub rate setting 2010-08-10 10:20:38 -07:00
eisa
firewire firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony camcorder 2010-07-05 11:11:04 -07:00
firmware
gpio gpiolib: Actually set output state in wm831x_gpio_direction_output() 2010-03-15 08:49:57 -07:00
gpu drm: stop information leak of old kernel stack. 2010-08-26 16:41:56 -07:00
hid HID: Add the GYR4101US USB ID to hid-gyration 2010-07-05 11:10:33 -07:00
hwmon hwmon: (k8temp) Differentiate between AM2 and ASB1 2010-09-20 13:17:43 -07:00
i2c i2c: Fix probing of FSC hardware monitoring chips 2010-05-12 14:57:04 -07:00
ide ide-cd: Do not access completed requests in the irq handler 2010-08-13 13:19:36 -07:00
idle
ieee1394
ieee802154
infiniband IPoIB: Fix world-writable child interface control sysfs attributes 2010-08-02 10:20:54 -07:00
input Input: twl40300-keypad - fix handling of "all ground" rows 2010-08-02 10:20:55 -07:00
isdn isdn: fix information leak 2010-08-26 16:41:51 -07:00
leds leds-gpio: fix default state handling on OF platforms 2010-04-01 15:58:53 -07:00
lguest
macintosh
mca
md dm ioctl: release _hash_lock between devices in remove_all 2010-08-26 16:41:44 -07:00
media V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight cameras 2010-08-02 10:21:30 -07:00
memstick memstick: fix hangs on unexpected device removal in mspro_blk 2010-08-26 16:41:32 -07:00
message mptspi: Fix for incorrect data underrun errata 2010-04-26 07:41:36 -07:00
mfd
misc SCSI: enclosure: fix error path - actually return ERR_PTR() on error 2010-08-10 10:20:44 -07:00
mmc sdhci-s3c: add missing remove function 2010-08-02 10:20:53 -07:00
mtd pxa3xx: fix ns2cycle equation 2010-08-26 16:41:42 -07:00
net ath5k: disable ASPM L0s for all cards 2010-08-26 16:41:41 -07:00
nubus
of
oprofile oprofile: remove double ring buffering 2010-07-05 11:10:27 -07:00
parisc PARISC: led.c - fix potential stack overflow in led_proc_write() 2010-08-10 10:20:37 -07:00
parport
pci PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc() 2010-09-20 13:17:44 -07:00
pcmcia pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq 2010-08-26 16:41:53 -07:00
platform eeepc-laptop: check wireless hotplug events 2010-08-02 10:21:29 -07:00
pnp
power
pps
ps3
rapidio
regulator
rtc rtc: fix ds1388 time corruption 2010-08-02 10:20:53 -07:00
s390 nohz: Introduce arch_needs_cpu 2010-08-13 13:20:13 -07:00
sbus
scsi ibmvfc: Reduce error recovery timeout 2010-08-13 13:20:24 -07:00
serial serial: cpm_uart: implement the cpm_uart_early_write() function for console poll 2010-08-02 10:20:52 -07:00
sfi
sh
sn
spi
ssb ssb: Handle alternate SSPROM location 2010-08-10 10:20:51 -07:00
staging Staging: panel: Prevent double-calling of parport_release - fix oops. 2010-08-13 13:19:33 -07:00
tc
telephony
thermal
uio
usb USB: ftdi_sio: add product ID for Lenz LI-USB 2010-08-26 16:41:59 -07:00
uwb
video sunxvr500: Ignore secondary output PCI devices. 2010-08-26 16:41:48 -07:00
virtio virtio-pci: disable msi at startup 2010-08-02 10:20:42 -07:00
vlynq
w1 w1: w1 temp: fix negative termperature calculation 2010-05-12 14:57:00 -07:00
watchdog WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs 2010-04-26 07:41:18 -07:00
xen xen: use percpu interrupts for IPIs and VIRQs 2010-09-20 13:17:43 -07:00
zorro
Kconfig
Makefile virtio: initialize earlier 2010-05-12 14:57:15 -07:00