diff options
author | Latchesar Ionkov <lucho@ionkov.net> | 2013-10-19 15:55:41 -0600 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-11-08 14:42:54 -0800 |
commit | 6b7d103c1b11346499063d9167832596de754ea4 (patch) | |
tree | b6da2991326a0cf08d4d5dc856468913ae71a14c /drivers/infiniband/core | |
parent | 959f58544b7f20c92d5eb43d1232c96c15c01bfb (diff) | |
download | op-kernel-dev-6b7d103c1b11346499063d9167832596de754ea4.zip op-kernel-dev-6b7d103c1b11346499063d9167832596de754ea4.tar.gz |
IB/core: Pass imm_data from ib_uverbs_send_wr to ib_send_wr correctly
Currently, we don't copy the immediate data from the userspace struct
to the kernel one when UD messages are being sent.
This patch makes sure that the immediate data is set correctly.
Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/core')
-rw-r--r-- | drivers/infiniband/core/uverbs_cmd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index 2f0f01b..5bb2a82d 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c @@ -2128,6 +2128,9 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file, } next->wr.ud.remote_qpn = user_wr->wr.ud.remote_qpn; next->wr.ud.remote_qkey = user_wr->wr.ud.remote_qkey; + if (next->opcode == IB_WR_SEND_WITH_IMM) + next->ex.imm_data = + (__be32 __force) user_wr->ex.imm_data; } else { switch (next->opcode) { case IB_WR_RDMA_WRITE_WITH_IMM: |