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 Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
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 dmaengine: bump initcall level to arch_initcall 2009-01-06 11:38:22 -07:00
dio m68k: dio - Kill resource_size_t format warnings 2009-01-12 20:56:42 +01:00
dma ioat: fix self test for multi-channel case 2009-01-06 11:38:22 -07:00
edac edac: driver for i5400 MCH (update) 2009-01-06 15:59:30 -08:00
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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2009-01-06 17:02:07 -08:00
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 i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:39 -08:00
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 lguest: do not statically allocate root device 2009-01-06 10:44:34 -08:00
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
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 parport: ieee1284: use del_timer_sync() in parport_wait_event() 2009-01-06 15:59:31 -08:00
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 rapidio: remove excess kernel-doc notation 2009-01-06 15:59:28 -08:00
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 sparc64: Fix unsigned long long warnings in drivers. 2009-01-06 13:20:38 -08:00
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 hwmon: (lm70) Code streamlining and cleanup 2009-01-07 16:37:34 +01:00
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 thermal: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:37 -08:00
uio UIO: Pass information about ioports to userspace (V2) 2009-01-06 10:44:44 -08:00
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 virtio: do not statically allocate root device 2009-01-06 10:44:34 -08:00
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