android_kernel_xiaomi_sm7250/drivers
Jack Morgenstein 6e694ea33e IB/mlx4: Fix data corruption triggered by wrong headroom marking order
This is an addendum to commit 0e6e7416 ("IB/mlx4: Handle new FW
requirement for send request prefetching").  We also need to handle
prefetch marking properly for S/G segments, or else the HCA may end up
processing S/G segments that are not fully written and end up sending
the wrong data.  This can actually cause data corruption in practice,
especially on systems with relatively slow CPUs (where the HCA is more
likely to prefetch while the CPU is in the middle of writing a work
request into memory).

We write S/G segments in reverse order into the WQE, in order to
guarantee that the first dword of all cachelines containing S/G
segments is written last (overwriting the headroom invalidation
pattern).  The entire cacheline will thus contain valid data when the
invalidation pattern is overwritten.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-09-23 13:03:22 -07:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi ACPI: EC: Check if boot_ec was really found in DSDT 2007-08-30 22:20:13 -07:00
amba
ata [libata] Bump driver versions 2007-08-31 04:54:06 -04:00
atm Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base CPU online file permission 2007-07-31 15:39:39 -07:00
block [SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK. 2007-08-26 18:49:07 -07:00
bluetooth
cdrom [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
char Do not use the ia64 clocksource on non-ia64 architectures 2007-08-31 20:14:22 -07:00
clocksource x86_64: fix typo in acpi_pm.c 2007-07-21 18:37:12 -07:00
connector Use menuconfig objects: connector 2007-07-16 09:05:40 -07:00
cpufreq [CPUFREQ] Restore previously used governor on a hot-replugged CPU 2007-07-13 01:29:51 -04:00
crypto Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
dio
dma [IOAT]: ioatdma needs to to play nice in a multi-dma-client world 2007-08-26 18:35:40 -07:00
edac drivers/edac: fix pasemi kconfig depends 2007-07-26 11:35:18 -07:00
eisa
fc4
firewire firewire: Add ref-counting for sbp2 orbs (fix command abortion) 2007-08-25 18:00:27 +02:00
firmware edd: switch to pci_get based API 2007-07-16 09:05:42 -07:00
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon hwmon: (smsc47m1) restore missing name attribute 2007-08-12 14:39:44 -04:00
i2c i2c-piix4: Fix SB700 PCI device ID 2007-08-31 01:42:23 -07:00
ide ide-disk: workaround for buggy HPA support on ST340823A (take 3) 2007-08-20 22:42:57 +02:00
ieee1394 ieee1394: sbp2: fix sbp2_remove_device for error cases 2007-08-25 18:00:26 +02:00
infiniband IB/mlx4: Fix data corruption triggered by wrong headroom marking order 2007-09-23 13:03:22 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-08-30 21:55:22 -07:00
isdn [ISDN]: Get rid of some pointless allocation casts in common and bsd comp. 2007-08-26 18:35:46 -07:00
kvm KVM: Avoid calling smp_call_function_single() with interrupts disabled 2007-08-19 10:13:49 -07:00
leds leds: Convert from struct class_device to struct device 2007-07-16 01:15:51 +01:00
lguest Fix lguest page-pinning logic ("lguest: bad stack page 0xc057a000") 2007-08-30 09:58:22 -07:00
macintosh [POWERPC] Fix undefined reference to device_power_up/resume 2007-08-25 16:58:27 +10:00
mca
md dm-mpath-rdac: don't stomp on a requests transfer bit 2007-08-27 16:15:44 -07:00
media Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2007-08-23 21:38:54 -07:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-08-06 17:48:34 -07:00
mfd some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
misc Pull events into release branch 2007-08-25 01:44:01 -04:00
mmc sdhci: tell which spurious interrupt we got 2007-08-23 06:31:07 +02:00
mtd [ARM] 4554/1: replace consistent_sync() with flush_ioremap_region() 2007-08-23 12:31:31 +01:00
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-08-31 20:03:15 -07:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
of Create drivers/of/platform.c 2007-07-20 14:25:51 +10:00
oprofile [CELL] oprofile: add support to OProfile for profiling CELL BE SPUs 2007-07-20 21:42:24 +02:00
parisc serial: add early_serial_setup() back to header file 2007-07-18 08:38:22 -07:00
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci Pull events into release branch 2007-08-25 01:44:01 -04:00
pcmcia pcmcia: give socket time to power down 2007-07-31 15:39:38 -07:00
pnp PNP: remove null pointer checks 2007-08-24 01:27:24 -04:00
power Don't compile the PMU power driver on 64-bit PowerPC 2007-07-23 12:42:45 +01:00
ps3
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc [PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware 2007-08-27 02:16:58 +01:00
s390 qeth: Drop ARP packages on HiperSockets interface with NOARP attribute. 2007-08-31 06:52:58 -04:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi Introduce CONFIG_CHECK_SIGNATURE 2007-08-22 19:52:45 -07:00
serial Fix modpost warning in serial driver 2007-08-31 01:42:23 -07:00
sh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi Fix typo in atmel_spi.c 2007-08-31 01:42:23 -07:00
tc zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
telephony some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb usb: add PRODUCT, TYPE to usb-interface events 2007-08-22 14:28:02 -07:00
video Fix font dependency for SGI Newport console driver 2007-08-31 01:42:22 -07:00
w1 w1: fix w1_remove_master_device() searching 2007-08-22 19:52:46 -07:00
xen xenbus_xs.c: fix a use-after-free 2007-07-26 11:35:17 -07:00
zorro zorro: Make sysfs config attribute read-only 2007-08-22 19:52:45 -07:00
Kconfig Begin to consolidate of_device.c 2007-07-20 13:39:59 +10:00
Makefile [WATCHDOG] Fix pcwd_init_module crash 2007-07-29 18:58:39 +00:00