diff options
Diffstat (limited to 'drivers/infiniband/core/ucm.h')
-rw-r--r-- | drivers/infiniband/core/ucm.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/infiniband/core/ucm.h b/drivers/infiniband/core/ucm.h index 6d36606151b..c8819b928a1 100644 --- a/drivers/infiniband/core/ucm.h +++ b/drivers/infiniband/core/ucm.h @@ -40,17 +40,15 @@ #include <linux/cdev.h> #include <linux/idr.h> -#include <ib_cm.h> -#include <ib_user_cm.h> +#include <rdma/ib_cm.h> +#include <rdma/ib_user_cm.h> #define IB_UCM_CM_ID_INVALID 0xffffffff struct ib_ucm_file { struct semaphore mutex; struct file *filp; - /* - * list of pending events - */ + struct list_head ctxs; /* list of active connections */ struct list_head events; /* list of pending events */ wait_queue_head_t poll_wait; @@ -58,12 +56,11 @@ struct ib_ucm_file { struct ib_ucm_context { int id; - int ref; - int error; + wait_queue_head_t wait; + atomic_t ref; struct ib_ucm_file *file; struct ib_cm_id *cm_id; - struct semaphore mutex; struct list_head events; /* list of pending events. */ struct list_head file_list; /* member in file ctx list */ |