diff mbox series

[v2,08/22] hw/pvrdma: Set the correct opcode for recv completion

Message ID 20181108160818.5485-9-yuval.shaia@oracle.com (mailing list archive)
State New, archived
Headers show
Series Add support for RDMA MAD | expand

Commit Message

Yuval Shaia Nov. 8, 2018, 4:08 p.m. UTC
The function pvrdma_post_cqe populates CQE entry with opcode from the
given completion element. For receive operation value was not set. Fix
it by setting it to IBV_WC_RECV.

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
---
 hw/rdma/vmw/pvrdma_qp_ops.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Marcel Apfelbaum Nov. 10, 2018, 6:18 p.m. UTC | #1
On 11/8/18 6:08 PM, Yuval Shaia wrote:
> The function pvrdma_post_cqe populates CQE entry with opcode from the
> given completion element. For receive operation value was not set. Fix
> it by setting it to IBV_WC_RECV.
>
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> ---
>   hw/rdma/vmw/pvrdma_qp_ops.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/rdma/vmw/pvrdma_qp_ops.c b/hw/rdma/vmw/pvrdma_qp_ops.c
> index 762700a205..7b0f440fda 100644
> --- a/hw/rdma/vmw/pvrdma_qp_ops.c
> +++ b/hw/rdma/vmw/pvrdma_qp_ops.c
> @@ -196,8 +196,9 @@ int pvrdma_qp_recv(PVRDMADev *dev, uint32_t qp_handle)
>           comp_ctx = g_malloc(sizeof(CompHandlerCtx));
>           comp_ctx->dev = dev;
>           comp_ctx->cq_handle = qp->recv_cq_handle;
> -        comp_ctx->cqe.qp = qp_handle;
>           comp_ctx->cqe.wr_id = wqe->hdr.wr_id;
> +        comp_ctx->cqe.qp = qp_handle;

Not sure the above chunk is needed.

> +        comp_ctx->cqe.opcode = IBV_WC_RECV;
>   

Anyway

Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>

Thanks,
Marcel

>           rdma_backend_post_recv(&dev->backend_dev, &dev->rdma_dev_res,
>                                  &qp->backend_qp, qp->qp_type,
Yuval Shaia Nov. 11, 2018, 8:43 a.m. UTC | #2
On Sat, Nov 10, 2018 at 08:18:58PM +0200, Marcel Apfelbaum wrote:
> 
> 
> On 11/8/18 6:08 PM, Yuval Shaia wrote:
> > The function pvrdma_post_cqe populates CQE entry with opcode from the
> > given completion element. For receive operation value was not set. Fix
> > it by setting it to IBV_WC_RECV.
> > 
> > Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> > ---
> >   hw/rdma/vmw/pvrdma_qp_ops.c | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/hw/rdma/vmw/pvrdma_qp_ops.c b/hw/rdma/vmw/pvrdma_qp_ops.c
> > index 762700a205..7b0f440fda 100644
> > --- a/hw/rdma/vmw/pvrdma_qp_ops.c
> > +++ b/hw/rdma/vmw/pvrdma_qp_ops.c
> > @@ -196,8 +196,9 @@ int pvrdma_qp_recv(PVRDMADev *dev, uint32_t qp_handle)
> >           comp_ctx = g_malloc(sizeof(CompHandlerCtx));
> >           comp_ctx->dev = dev;
> >           comp_ctx->cq_handle = qp->recv_cq_handle;
> > -        comp_ctx->cqe.qp = qp_handle;
> >           comp_ctx->cqe.wr_id = wqe->hdr.wr_id;
> > +        comp_ctx->cqe.qp = qp_handle;
> 
> Not sure the above chunk is needed.

Right, it is not related to the change but did it "while there" to be
consisted with settings order in pvrdma_qp_send :)

> 
> > +        comp_ctx->cqe.opcode = IBV_WC_RECV;
> 
> Anyway
> 
> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>

Thanks.

> 
> Thanks,
> Marcel
> 
> >           rdma_backend_post_recv(&dev->backend_dev, &dev->rdma_dev_res,
> >                                  &qp->backend_qp, qp->qp_type,
>
diff mbox series

Patch

diff --git a/hw/rdma/vmw/pvrdma_qp_ops.c b/hw/rdma/vmw/pvrdma_qp_ops.c
index 762700a205..7b0f440fda 100644
--- a/hw/rdma/vmw/pvrdma_qp_ops.c
+++ b/hw/rdma/vmw/pvrdma_qp_ops.c
@@ -196,8 +196,9 @@  int pvrdma_qp_recv(PVRDMADev *dev, uint32_t qp_handle)
         comp_ctx = g_malloc(sizeof(CompHandlerCtx));
         comp_ctx->dev = dev;
         comp_ctx->cq_handle = qp->recv_cq_handle;
-        comp_ctx->cqe.qp = qp_handle;
         comp_ctx->cqe.wr_id = wqe->hdr.wr_id;
+        comp_ctx->cqe.qp = qp_handle;
+        comp_ctx->cqe.opcode = IBV_WC_RECV;
 
         rdma_backend_post_recv(&dev->backend_dev, &dev->rdma_dev_res,
                                &qp->backend_qp, qp->qp_type,