diff options
Diffstat (limited to 'drivers/infiniband/core/uverbs_cmd.c')
-rw-r--r-- | drivers/infiniband/core/uverbs_cmd.c | 13 |
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 = |