diff options
author | Arnd Bergmann <arnd@arndb.de> | 2008-05-20 19:16:02 +0200 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2008-06-20 14:05:57 -0600 |
commit | 6b0ee363b294c3724224909dcb0b80f7dac3dfd6 (patch) | |
tree | 5ca89a8c5518ce40540f103eb1b8644fb49f96ca | |
parent | a9c4e8f74ba26f10cf78fed7c5b863ea50988856 (diff) | |
download | op-kernel-dev-6b0ee363b294c3724224909dcb0b80f7dac3dfd6.zip op-kernel-dev-6b0ee363b294c3724224909dcb0b80f7dac3dfd6.tar.gz |
infiniband-ucma: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | drivers/infiniband/core/ucma.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c index ca4cf3a..195f973 100644 --- a/drivers/infiniband/core/ucma.c +++ b/drivers/infiniband/core/ucma.c @@ -38,6 +38,7 @@ #include <linux/in.h> #include <linux/in6.h> #include <linux/miscdevice.h> +#include <linux/smp_lock.h> #include <rdma/rdma_user_cm.h> #include <rdma/ib_marshall.h> @@ -1156,6 +1157,7 @@ static int ucma_open(struct inode *inode, struct file *filp) if (!file) return -ENOMEM; + lock_kernel(); INIT_LIST_HEAD(&file->event_list); INIT_LIST_HEAD(&file->ctx_list); init_waitqueue_head(&file->poll_wait); @@ -1163,6 +1165,7 @@ static int ucma_open(struct inode *inode, struct file *filp) filp->private_data = file; file->filp = filp; + unlock_kernel(); return 0; } |