1
linux/drivers
Roland Dreier 0fd7e1d855 IB/mlx4: Fix memory ordering problem when posting LSO sends
The current work request posting code writes the LSO segment before
writing any data segments.  This leaves a window where the LSO segment
overwrites the stamping in one cacheline that the HCA prefetches
before the rest of the cacheline is filled with the correct data
segments.  When the HCA processes this work request, a local
protection error may result.

Fix this by saving the LSO header size field off and writing it only
after all data segments are written.  This fix is a cleaned-up version
of a patch from Jack Morgenstein <jackm@dev.mellanox.co.il>.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=1383>.

Reported-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2009-01-16 12:47:47 -08:00
..
accessibility
acpi Merge branch 'drivers-platform' into release 2009-01-09 04:56:56 -05:00
amba [ARM] Fix realview build 2009-01-08 16:29:41 +00:00
ata pata_it821x: Update RDC UDMA handling 2009-01-13 10:35:01 -05:00
atm generic swap(): iphase: rename swap() to swap_byte_order() 2009-01-08 08:31:14 -08:00
auxdisplay
base Revert "driver core: create a private portion of struct device" 2009-01-09 15:06:12 -08:00
block m68k: amiflop - Get rid of sleep_on calls 2009-01-12 20:56:33 +01:00
bluetooth
cdrom
char pty: Fix documentation 2009-01-12 16:37:00 -08:00
clocksource
connector
cpufreq Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-10 06:12:18 -08:00
cpuidle
crypto
dca
dio m68k: dio - Kill resource_size_t format warnings 2009-01-12 20:56:42 +01:00
dma
edac
eisa
firewire firewire: core: fix sleep in atomic context due to driver core change 2009-01-09 23:22:32 +01:00
firmware Make various things static 2009-01-08 08:31:15 -08:00
gpio
gpu trivial: replace last usages of __FUNCTION__ in kernel 2009-01-07 15:48:54 -08:00
hid Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2009-01-07 15:37:24 -08:00
hwmon LIS3LV02D: separate the core from HP ACPI API 2009-01-09 16:54:42 -08:00
i2c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2009-01-07 15:37:24 -08:00
ide Merge branch 'linus' into release 2009-01-09 03:39:43 -05:00
idle
ieee1394 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-01-08 11:05:59 -08:00
infiniband IB/mlx4: Fix memory ordering problem when posting LSO sends 2009-01-16 12:47:47 -08:00
input input: PCF50633 input driver 2009-01-11 01:34:25 +01:00
isdn Fix small typo 2009-01-11 18:36:30 +01:00
leds leds: ledtrig-timer - on deactivation hardware blinking should be disabled 2009-01-08 20:58:01 +00:00
lguest
macintosh
mca
md md: don't retry recovery of raid1 that fails due to error on source drive. 2009-01-09 08:31:11 +11:00
media Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-01-08 11:05:59 -08:00
memstick memstick: annotate endianness of attribute structs 2009-01-09 16:54:41 -08:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-01-08 16:27:31 -08:00
mfd mfd: Fix twl4030-core build 2009-01-11 01:34:25 +01:00
misc Merge branch 'drivers-platform' into release 2009-01-09 04:56:56 -05:00
mmc Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-01-09 11:52:14 -08:00
mtd Merge git://git.infradead.org/mtd-2.6 2009-01-09 12:37:15 -08:00
net mlx4_core: Fix min() warning 2009-01-15 20:43:56 -08:00
nubus
of
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile 2009-01-09 12:43:06 -08:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2009-01-09 11:53:07 -08:00
parport
pci Prevent oops at boot with VT-d 2009-01-13 08:03:46 -08:00
pcmcia
platform hp-wmi: handle rfkill_register() failure 2009-01-09 16:54:41 -08:00
pnp Merge branch 'linus' into release 2009-01-09 03:39:43 -05:00
power power_supply: PCF50633 battery charger driver 2009-01-11 01:34:24 +01:00
ps3
rapidio
regulator regulator: PCF50633 pmic driver 2009-01-11 01:34:25 +01:00
rtc rtc: PCF50633 rtc driver 2009-01-11 01:34:24 +01:00
s390 qeth: fix usage of netdev_ops 2009-01-11 00:05:16 -08:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-01-08 16:27:31 -08:00
serial neo: Remove a bogus NULL check 2009-01-12 16:37:00 -08:00
sh
sn
spi
ssb
staging Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2009-01-07 17:22:04 -08:00
tc
telephony
thermal
uio
usb ti_usb_3410_5052: add Multi-Tech firmware 2009-01-12 16:37:01 -08:00
uwb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-01-08 11:05:59 -08:00
video fbdev: Kill Atari vblank cursor blinking 2009-01-12 20:56:43 +01:00
virtio
w1 w1: send status messages after command processing 2009-01-08 08:31:14 -08:00
watchdog [WATCHDOG] Pika Warp appliance watchdog timer 2009-01-12 20:08:56 +00:00
xen xen: add xenfs to allow usermode <-> Xen interaction 2009-01-08 08:30:59 -08:00
zorro m68k: zorro - Use %pR to print resources 2009-01-12 20:56:43 +01:00
Kconfig
Makefile Merge branch 'drivers-platform' into release 2009-01-09 04:56:56 -05:00