linux/drivers/infiniband/hw
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
..
amso1100 infiniband: Kill directly reference of netdev->priv 2008-11-24 15:34:00 -08:00
cxgb3 RDMA/cxgb3: Fix deadlock in iw_cxgb3 (hang when configuring interface) 2008-11-12 10:16:47 -08:00
ehca Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-01-13 08:19:42 -08:00
ipath zero i_uid/i_gid on inode allocation 2009-01-05 11:54:28 -05:00
mlx4 IB/mlx4: Fix memory ordering problem when posting LSO sends 2009-01-16 12:47:47 -08:00
mthca net: replace %p6 with %pI6 2008-10-29 12:52:50 -07:00
nes Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-01-13 08:19:42 -08:00