linux-stable/drivers/infiniband
Brian Welty 8c310cd9fa IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM
[ Upstream commit 904bba211a ]

The work completion length for a receiving a UD send with immediate is
short by 4 bytes causing application using this opcode to fail.

The UD receive logic incorrectly subtracts 4 bytes for immediate
value. These bytes are already included in header length and are used to
calculate header/payload split, so the result is these 4 bytes are
subtracted twice, once when the header length subtracted from the overall
length and once again in the UD opcode specific path.

Remove the extra subtraction when handling the opcode.

Fixes: 7724105686 ("IB/hfi1: add driver files")
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Brian Welty <brian.welty@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-03-13 14:04:55 -07:00
..
core IB/core: Fix for core panic 2018-12-01 09:44:20 +01:00
hw IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM 2019-03-13 14:04:55 -07:00
sw rxe: IB_WR_REG_MR does not capture MR's iova field 2019-01-26 09:38:33 +01:00
ulp RDMA/srp: Rework SCSI device reset handling 2019-02-27 10:07:00 +01:00
Kconfig RDMA/ucm: Mark UCM interface as BROKEN 2018-07-17 11:37:54 +02:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00