RDMA/counter: Allow manually bind QPs with different pids to same counter
authorMark Zhang <markz@mellanox.com>
Thu, 2 Jul 2020 08:29:33 +0000 (11:29 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 10 Jul 2020 19:50:53 +0000 (16:50 -0300)
In manual mode allow bind user QPs with different pids to same counter,
since this is allowed in auto mode.
Bind kernel QPs and user QPs to the same counter are not allowed.

Fixes: 1bd8e0a9d0fd ("RDMA/counter: Allow manual mode configuration support")
Link: https://lore.kernel.org/r/20200702082933.424537-4-leon@kernel.org
Signed-off-by: Mark Zhang <markz@mellanox.com>
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/counters.c

index c88139fa859e27f676df2f99bd0bf75a9a4b5af5..edf77d061127e17c417506c220621ac1179bc0af 100644 (file)
@@ -471,7 +471,7 @@ int rdma_counter_bind_qpn(struct ib_device *dev, u8 port,
                goto err;
        }
 
-       if (counter->res.task != qp->res.task) {
+       if (rdma_is_kernel_res(&counter->res) != rdma_is_kernel_res(&qp->res)) {
                ret = -EINVAL;
                goto err_task;
        }