linux/drivers
James Smart e42ec4ae3b lpfc: Add iotag memory barrier
commit 27f344eb15 upstream.

Add a memory barrier to ensure the valid bit is read before
any of the cqe payload is read. This fixes an issue seen
on Power where the cqe payload was getting loaded before
the valid bit. When this occurred, we saw an iotag out of
range error when a command completed, but since the iotag
looked invalid the command didn't get completed to scsi core.
Later we hit the command timeout, attempted to abort the command,
then waited for the aborted command to get returned. Since the
adapter already returned the command, we timeout waiting,
and end up escalating EEH all the way to host reset. This
patch fixes this issue.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-29 12:25:37 -07:00
..
accessibility
acpi ACPI / init: Fix the ordering of acpi_reserve_resources() 2015-06-06 08:19:39 -07:00
amba
ata pata_octeon_cf: fix broken build 2015-06-22 17:01:22 -07:00
atm
auxdisplay
base driver core: bus: Goto appropriate labels on failure in bus_add_device 2015-05-06 21:59:21 +02:00
bcma Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
block rbd: end I/O the entire obj_request on error 2015-05-13 05:16:57 -07:00
bluetooth ath3k: add support of 13d3:3474 AR3012 device 2015-06-29 12:25:37 -07:00
bus bus: mvebu-mbus: fix support of MBus window 13 2015-01-29 17:40:49 -08:00
cdrom Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block 2014-01-30 11:40:10 -08:00
char tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send 2015-03-26 15:06:54 +01:00
clk clk: qcom: fix RCG M/N counter configuration 2015-05-06 21:59:18 +02:00
clocksource clocksource: efm32: Fix a NULL pointer dereference 2015-04-13 14:02:59 +02:00
connector net: Use netlink_ns_capable to verify the permisions of netlink messages 2014-06-26 15:15:38 -04:00
cpufreq cpufreq: s3c: remove incorrect __init annotations 2015-03-06 14:43:24 -08:00
cpuidle cpuidle: remove state_count field from struct cpuidle_device 2015-04-19 10:11:08 +02:00
crypto crypto: caam - fix RNG buffer cache alignment 2015-06-29 12:25:37 -07:00
dca
devfreq Merge branches 'pm-cpufreq' and 'pm-devfreq' 2014-01-29 11:48:23 +01:00
dio
dma dmaengine: omap-dma: Fix memory leak when terminating running transfer 2015-04-19 10:11:07 +02:00
edac sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel 2015-04-29 10:31:56 +02:00
eisa Revert "EISA: Initialize device before its resources" 2014-01-17 14:57:29 -07:00
extcon extcon: max14577: Properly handle regmap_irq_get_virq error 2014-06-30 20:11:52 -07:00
firewire firewire: cdev: prevent kernel stack leaking into ioctl arguments 2014-11-21 09:23:02 -08:00
firmware efi: Small leak on error in runtime map code 2015-03-18 13:31:33 +01:00
fmc drivers/fmc/fmc-write-eeprom.c: fix decimal permissions 2014-02-25 15:25:43 -08:00
gpio gpio: gpio-kempld: Fix get_direction return value 2015-06-06 08:19:37 -07:00
gpu drm/mgag200: Reject non-character-cell-aligned mode widths 2015-06-29 12:25:37 -07:00
hid HID: fixup the conflicting keyboard mappings quirk 2015-03-18 13:31:33 +01:00
hsi
hv Drivers: hv: vmbus: Don't wait after requesting offers 2015-05-13 05:17:00 -07:00
hwmon hwmon: (nct6775) Add missing sysfs attribute initialization 2015-06-06 08:19:32 -07:00
hwspinlock
i2c i2c: core: Export bus recovery functions 2015-05-06 21:59:19 +02:00
ide drivers: ide: Include appropriate header file in ide-pio-blacklist.c 2014-01-28 23:35:09 -08:00
idle ACPI and power management updates for 3.14-rc1 2014-01-24 15:51:02 -08:00
iio iio: adis16400: Compute the scan mask from channel indices 2015-06-22 17:01:19 -07:00
infiniband RDMA/CMA: Canonize IPv4 on IPV6 sockets properly 2015-05-17 09:53:49 -07:00
input Input: elantech - fix detection of touchpads where the revision matches a known rate 2015-06-22 17:01:20 -07:00
iommu iommu/vt-d: Fix an off-by-one bug in __domain_mapping() 2015-01-16 06:59:31 -08:00
ipack
irqchip irqchip: gic: Fix core ID calculation when topology is read from DT 2014-07-28 08:06:02 -07:00
isdn isdnloop: several buffer overflows 2014-04-14 06:50:04 -07:00
leds leds: leds-pwm: properly clean up after probe failure 2014-06-07 10:28:18 -07:00
lguest lguest: fix out-by-one error in address checking. 2015-06-06 08:19:32 -07:00
macintosh Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-01-27 21:11:26 -08:00
mailbox drivers/mailbox/omap: make mbox->irq signed for error handling 2014-01-23 16:36:53 -08:00
md md/raid0: fix restore to sector variable in raid0_make_request 2015-06-06 08:19:39 -07:00
media stk1160: Make sure current buffer is released 2015-05-06 21:59:19 +02:00
memory memory: mvebu-devbus: fix the conversion of the bus width 2014-06-07 10:28:22 -07:00
memstick memstick: mspro_block: add missing curly braces 2015-05-06 21:59:21 +02:00
message mptfusion: enable no_write_same for vmware scsi disks 2014-10-30 09:38:20 -07:00
mfd mfd: kempld-core: Fix callback return value check 2015-04-13 14:03:04 +02:00
misc mei: make device disabled on stop unconditionally 2015-03-18 13:31:27 +01:00
mmc mmc: atmel-mci: fix bad variable type for clkdiv 2015-06-06 08:19:35 -07:00
mtd UBI: fix soft lockup in ubi_check_volume() 2015-05-13 05:17:00 -07:00
net xen: netback: read hotplug script once at start of day. 2015-06-22 17:01:18 -07:00
nfc NFC: microread: Potential overflows in microread_target_discovered() 2014-10-05 14:52:18 -07:00
ntb
nubus
of of/irq: Fix of_irq_parse_one() returned error codes 2015-04-13 14:03:01 +02:00
oprofile
parisc
parport parport: fix menu breakage 2014-07-31 12:52:56 -07:00
pci PCI/AER: Avoid info leak in __print_tlp_header() 2015-04-19 10:11:05 +02:00
pcmcia PCI changes for the v3.14 merge window: 2014-01-22 16:39:28 -08:00
phy phy: Find the right match in devm_phy_destroy() 2015-04-13 14:03:01 +02:00
pinctrl pinctrl: Don't just pretend to protect pinctrl_maps, do it for real 2015-05-17 09:53:50 -07:00
platform compal-laptop: Fix leaking hwmon device 2015-05-13 05:17:00 -07:00
pnp ACPI / PNP: Fix acpi_pnp_match() 2014-08-07 14:52:37 -07:00
power power_supply: lp8788-charger: Fix leaked power supply on probe fail 2015-05-06 21:59:11 +02:00
powercap
pps
ps3
ptp ptp_pch: Add dependency on HAS_IOMEM 2014-01-15 14:51:22 -08:00
pwm pwm: lp3943: Fix potential memory leak during request 2014-02-26 15:45:12 +01:00
rapidio rapidio/tsi721_dma: fix failure to obtain transaction descriptor 2014-08-07 14:52:37 -07:00
regulator regulator: core: Fix enable GPIO reference counting 2015-03-26 15:06:56 +01:00
remoteproc
reset
rpmsg
rtc drivers/rtc/rtc-isl12057.c: fix masking of register values 2015-01-16 06:59:29 -08:00
s390 crypto: prefix module autoloading with "crypto-" 2015-01-29 17:40:50 -08:00
sbus bbc-i2c: Fix BBC I2C envctrl on SunBlade 2000 2014-08-14 09:38:26 +08:00
scsi lpfc: Add iotag memory barrier 2015-06-29 12:25:37 -07:00
sfi
sh
sn
spi spi: spidev: fix possible arithmetic overflow for multi-transfer message 2015-05-06 21:59:10 +02:00
ssb Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
staging ozwpan: unchecked signed subtraction leads to DoS 2015-06-22 17:01:22 -07:00
target target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST 2015-06-06 08:19:33 -07:00
tc
thermal thermal: step_wise: Revert optimization 2015-06-06 08:19:39 -07:00
tty serial: imx: Fix DMA handling for IDLE condition aborts 2015-06-22 17:01:23 -07:00
uio
usb USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board 2015-06-22 17:01:21 -07:00
uwb uwb: init beacon cache entry before registering uwb device 2014-10-05 14:52:14 -07:00
vfio vfio-pci: Fix the check on pci device type in vfio_pci_probe() 2015-01-27 08:18:56 -08:00
vhost vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion 2015-01-27 08:18:58 -08:00
video video/logo: prevent use of logos after they have been freed 2015-01-27 08:18:55 -08:00
virt
virtio virtio_pci: fix virtio spec compliance on restore 2014-11-14 08:59:50 -08:00
vlynq drivers/vlynq/vlynq.c: fix another resource size off by 1 error 2014-01-23 16:36:55 -08:00
vme VME: Correct read/write alignment algorithm 2014-02-07 08:16:14 -08:00
w1 w1: fix w1_send_slave dropping a slave id 2014-05-06 07:59:26 -07:00
watchdog watchdog: kempld-wdt: Use the correct value when configuring the prescaler with the watchdog 2014-07-06 18:57:27 -07:00
xen xen/events: don't bind non-percpu VIRQs with percpu chip 2015-06-06 08:19:32 -07:00
zorro
Kconfig
Makefile