diff options
author | Steve Wise <swise@opengridcomputing.com> | 2008-01-21 15:42:13 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-01-25 17:17:45 -0500 |
commit | c6b5b5047417c1becb5e48e748e3acb3801079a1 (patch) | |
tree | 8a4efd832544869ec93646be2f5d409119b9b309 /drivers/infiniband | |
parent | d08ca26ceec4dfbcfdbada4ad728db742ccaecd1 (diff) |
RDMA/cxgb3: Mark QP as privileged based on user capabilities
This is needed to support zero-stag properly.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb3/cxio_wr.h | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_qp.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb3/cxio_wr.h b/drivers/infiniband/hw/cxgb3/cxio_wr.h index de366b0627b8..969d4d928455 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_wr.h +++ b/drivers/infiniband/hw/cxgb3/cxio_wr.h | |||
@@ -324,7 +324,8 @@ struct t3_genbit { | |||
324 | }; | 324 | }; |
325 | 325 | ||
326 | enum rdma_init_wr_flags { | 326 | enum rdma_init_wr_flags { |
327 | RECVS_POSTED = 1, | 327 | RECVS_POSTED = (1<<0), |
328 | PRIV_QP = (1<<1), | ||
328 | }; | 329 | }; |
329 | 330 | ||
330 | union t3_wr { | 331 | union t3_wr { |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_qp.c b/drivers/infiniband/hw/cxgb3/iwch_qp.c index 7681fdc0e21d..ea2cdd73dd85 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_qp.c +++ b/drivers/infiniband/hw/cxgb3/iwch_qp.c | |||
@@ -717,6 +717,7 @@ static int rdma_init(struct iwch_dev *rhp, struct iwch_qp *qhp, | |||
717 | init_attr.qp_dma_addr = qhp->wq.dma_addr; | 717 | init_attr.qp_dma_addr = qhp->wq.dma_addr; |
718 | init_attr.qp_dma_size = (1UL << qhp->wq.size_log2); | 718 | init_attr.qp_dma_size = (1UL << qhp->wq.size_log2); |
719 | init_attr.flags = rqes_posted(qhp) ? RECVS_POSTED : 0; | 719 | init_attr.flags = rqes_posted(qhp) ? RECVS_POSTED : 0; |
720 | init_attr.flags |= capable(CAP_NET_BIND_SERVICE) ? PRIV_QP : 0; | ||
720 | init_attr.irs = qhp->ep->rcv_seq; | 721 | init_attr.irs = qhp->ep->rcv_seq; |
721 | PDBG("%s init_attr.rq_addr 0x%x init_attr.rq_size = %d " | 722 | PDBG("%s init_attr.rq_addr 0x%x init_attr.rq_size = %d " |
722 | "flags 0x%x qpcaps 0x%x\n", __FUNCTION__, | 723 | "flags 0x%x qpcaps 0x%x\n", __FUNCTION__, |