Eli Cohen wrote:
--- a/drivers/infiniband/hw/mlx4/cq.c
+++ b/drivers/infiniband/hw/mlx4/cq.c
@@ -637,6 +637,7 @@ repoll:
                case MLX4_OPCODE_SEND_IMM:
                        wc->wc_flags |= IB_WC_WITH_IMM;
                case MLX4_OPCODE_SEND:
+               case MLX4_OPCODE_SEND_INVAL:
                        wc->opcode    = IB_WC_SEND;
                        break;
                case MLX4_OPCODE_RDMA_READ:
@@ -676,6 +677,13 @@ repoll:
                        wc->wc_flags = IB_WC_WITH_IMM;
                        wc->imm_data = cqe->immed_rss_invalid;
                        break;
+               case MLX4_RECV_OPCODE_SEND_INVAL:
+                       wc->opcode = IB_WC_RECV;
+                       wc->wc_flags = IB_WC_WITH_INVALIDATE;
+                       /*
+                        * TBD: maybe we should just call this ieth_val
+                        */
+                       wc->imm_data = be32_to_cpu(cqe->immed_rss_invalid);
Eli,

Is it correct that "cqe->immed_rss_invalid" equals "wr->ex.invalidate_rkey" that was provided at the sender? if yes, any reason not to have the same/similar union (imm_data/invalidate_rkey) also for the work completion structure?

Or

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to