aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/uverbs.h
diff options
context:
space:
mode:
authorYishai Hadas <yishaih@mellanox.com>2013-08-01 18:49:54 +0300
committerRoland Dreier <roland@purestorage.com>2013-08-13 11:21:32 -0700
commit846be90d810c285f6474f53abf1f928e1113830e (patch)
tree8daa8a2b5ef54239fdfa04c2034f0abe1c80e81b /drivers/infiniband/core/uverbs.h
parentIB/core: Add locking around event dispatching on XRC target QPs (diff)
downloadlinux-dev-846be90d810c285f6474f53abf1f928e1113830e.tar.xz
linux-dev-846be90d810c285f6474f53abf1f928e1113830e.zip
IB/core: Fixes to XRC reference counting in uverbs
Added reference counting mechanism for XRC target QPs between ib_uqp_object and its ib_uxrcd_object. This prevents closing an XRC domain that is still attached to a QP. In addition, add missing code in ib_uverbs_destroy_srq() to handle ib_uxrcd_object reference counting correctly when destroying an xsrq. Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/core/uverbs.h')
-rw-r--r--drivers/infiniband/core/uverbs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/core/uverbs.h b/drivers/infiniband/core/uverbs.h
index 0fcd7aa26fa2..b8431d64efeb 100644
--- a/drivers/infiniband/core/uverbs.h
+++ b/drivers/infiniband/core/uverbs.h
@@ -135,6 +135,7 @@ struct ib_usrq_object {
struct ib_uqp_object {
struct ib_uevent_object uevent;
struct list_head mcast_list;
+ struct ib_uxrcd_object *uxrcd;
};
struct ib_ucq_object {