diff options
author | Sam Bradshaw <sbradshaw@micron.com> | 2014-03-13 14:33:30 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-06 07:59:34 -0700 |
commit | c260938a788fec7a9819fe4907351468347603bc (patch) | |
tree | 4defb73cb1be3a8b3f4c9d6a72861f202c5f10e5 /drivers/infiniband | |
parent | 039c42311d46cff77dac8eded00cedb1fdba1ea9 (diff) | |
download | linux-stable-c260938a788fec7a9819fe4907351468347603bc.tar.gz linux-stable-c260938a788fec7a9819fe4907351468347603bc.tar.bz2 linux-stable-c260938a788fec7a9819fe4907351468347603bc.zip |
mtip32xx: mtip_async_complete() bug fixes
commit 5eb9291c36c7d71d7c6c832d5a4f551eb8ac015d upstream.
This patch fixes 2 issues in the fast completion path:
1) Possible double completions / double dma_unmap_sg() calls due to lack
of atomicity in the check and subsequent dereference of the upper layer
callback function. Fixed with cmpxchg before unmap and callback.
2) Regression in unaligned IO constraining workaround for p420m devices.
Fixed by checking if IO is unaligned and using proper semaphore if so.
Signed-off-by: Sam Bradshaw <sbradshaw@micron.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/infiniband')
0 files changed, 0 insertions, 0 deletions