aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/uverbs_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/core/uverbs_cmd.c')
-rw-r--r--drivers/infiniband/core/uverbs_cmd.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
index 9e98cec623..2c3bff5fe8 100644
--- a/drivers/infiniband/core/uverbs_cmd.c
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -1463,7 +1463,6 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file,
1463 next->num_sge = user_wr->num_sge; 1463 next->num_sge = user_wr->num_sge;
1464 next->opcode = user_wr->opcode; 1464 next->opcode = user_wr->opcode;
1465 next->send_flags = user_wr->send_flags; 1465 next->send_flags = user_wr->send_flags;
1466 next->imm_data = (__be32 __force) user_wr->imm_data;
1467 1466
1468 if (is_ud) { 1467 if (is_ud) {
1469 next->wr.ud.ah = idr_read_ah(user_wr->wr.ud.ah, 1468 next->wr.ud.ah = idr_read_ah(user_wr->wr.ud.ah,
@@ -1476,14 +1475,24 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file,
1476 next->wr.ud.remote_qkey = user_wr->wr.ud.remote_qkey; 1475 next->wr.ud.remote_qkey = user_wr->wr.ud.remote_qkey;
1477 } else { 1476 } else {
1478 switch (next->opcode) { 1477 switch (next->opcode) {
1479 case IB_WR_RDMA_WRITE:
1480 case IB_WR_RDMA_WRITE_WITH_IMM: 1478 case IB_WR_RDMA_WRITE_WITH_IMM:
1479 next->ex.imm_data =
1480 (__be32 __force) user_wr->ex.imm_data;
1481 case IB_WR_RDMA_WRITE:
1481 case IB_WR_RDMA_READ: 1482 case IB_WR_RDMA_READ:
1482 next->wr.rdma.remote_addr = 1483 next->wr.rdma.remote_addr =
1483 user_wr->wr.rdma.remote_addr; 1484 user_wr->wr.rdma.remote_addr;
1484 next->wr.rdma.rkey = 1485 next->wr.rdma.rkey =
1485 user_wr->wr.rdma.rkey; 1486 user_wr->wr.rdma.rkey;
1486 break; 1487 break;
1488 case IB_WR_SEND_WITH_IMM:
1489 next->ex.imm_data =
1490 (__be32 __force) user_wr->ex.imm_data;
1491 break;
1492 case IB_WR_SEND_WITH_INV:
1493 next->ex.invalidate_rkey =
1494 user_wr->ex.invalidate_rkey;
1495 break;
1487 case IB_WR_ATOMIC_CMP_AND_SWP: 1496 case IB_WR_ATOMIC_CMP_AND_SWP:
1488 case IB_WR_ATOMIC_FETCH_AND_ADD: 1497 case IB_WR_ATOMIC_FETCH_AND_ADD:
1489 next->wr.atomic.remote_addr = 1498 next->wr.atomic.remote_addr =