RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 30 Oct 2020 14:03:05 +0000 (11:03 -0300)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 2 Nov 2020 19:32:06 +0000 (15:32 -0400)
These two drivers open code the call to POST_SEND and do not use the
rdma-core wrapper to do it, thus their usages was missed during the audit.

Both drivers use this as a doorbell to signal the kernel to start DMA.

Fixes: 628c02bf38aa ("RDMA: Remove uverbs cmds from drivers that don't use them")
Link: https://lore.kernel.org/r/0-v1-4608c5610afa+fb-uverbs_cmd_post_send_fix_jgg@nvidia.com
Reported-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_verbs.c
drivers/infiniband/sw/siw/siw_main.c

index 7652d53..209c7b3 100644 (file)
@@ -1142,7 +1142,8 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
        dma_set_max_seg_size(&dev->dev, UINT_MAX);
        dma_set_coherent_mask(&dev->dev, dma_get_required_mask(&dev->dev));
 
-       dev->uverbs_cmd_mask |= BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ);
+       dev->uverbs_cmd_mask |= BIT_ULL(IB_USER_VERBS_CMD_POST_SEND) |
+                               BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ);
 
        ib_set_device_ops(dev, &rxe_dev_ops);
        err = ib_device_set_netdev(&rxe->ib_dev, rxe->ndev, 1);
index e49faef..9cf5964 100644 (file)
@@ -347,6 +347,8 @@ static struct siw_device *siw_device_create(struct net_device *netdev)
                                    addr);
        }
 
+       base_dev->uverbs_cmd_mask |= BIT_ULL(IB_USER_VERBS_CMD_POST_SEND);
+
        base_dev->node_type = RDMA_NODE_RNIC;
        memcpy(base_dev->node_desc, SIW_NODE_DESC_COMMON,
               sizeof(SIW_NODE_DESC_COMMON));