From 8abc3b9ecb723afac465878b5816bb87982ca35c Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Thu, 24 Jul 2008 20:37:25 -0700 Subject: [PATCH] --- yaml --- r: 106461 b: refs/heads/master c: 99c3a5a9e388e0ac166c617aaf02150e778d2779 h: refs/heads/master i: 106459: 6d42c63492bd63a5d8e46ee1fbaf37ec2979a9b6 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/core/ucm.c | 10 ++-------- trunk/drivers/infiniband/core/ucma.c | 11 +++-------- trunk/drivers/infiniband/ulp/ipoib/Kconfig | 15 ++++++++------- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index dafc14468a1e..9d47712ca28a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ba18b186c979283a2bf75a28b7ea325184b0c08 +refs/heads/master: 99c3a5a9e388e0ac166c617aaf02150e778d2779 diff --git a/trunk/drivers/infiniband/core/ucm.c b/trunk/drivers/infiniband/core/ucm.c index e603736682bf..9494005d1c9a 100644 --- a/trunk/drivers/infiniband/core/ucm.c +++ b/trunk/drivers/infiniband/core/ucm.c @@ -43,6 +43,7 @@ #include #include #include +#include #include @@ -1153,18 +1154,11 @@ static unsigned int ib_ucm_poll(struct file *filp, return mask; } -/* - * ib_ucm_open() does not need the BKL: - * - * - no global state is referred to; - * - there is no ioctl method to race against; - * - no further module initialization is required for open to work - * after the device is registered. - */ static int ib_ucm_open(struct inode *inode, struct file *filp) { struct ib_ucm_file *file; + cycle_kernel_lock(); file = kmalloc(sizeof(*file), GFP_KERNEL); if (!file) return -ENOMEM; diff --git a/trunk/drivers/infiniband/core/ucma.c b/trunk/drivers/infiniband/core/ucma.c index b41dd26bbfa1..195f97302fe5 100644 --- a/trunk/drivers/infiniband/core/ucma.c +++ b/trunk/drivers/infiniband/core/ucma.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -1148,14 +1149,6 @@ static unsigned int ucma_poll(struct file *filp, struct poll_table_struct *wait) return mask; } -/* - * ucma_open() does not need the BKL: - * - * - no global state is referred to; - * - there is no ioctl method to race against; - * - no further module initialization is required for open to work - * after the device is registered. - */ static int ucma_open(struct inode *inode, struct file *filp) { struct ucma_file *file; @@ -1164,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); @@ -1171,6 +1165,7 @@ static int ucma_open(struct inode *inode, struct file *filp) filp->private_data = file; file->filp = filp; + unlock_kernel(); return 0; } diff --git a/trunk/drivers/infiniband/ulp/ipoib/Kconfig b/trunk/drivers/infiniband/ulp/ipoib/Kconfig index 691525cf394a..ccc7180818a3 100644 --- a/trunk/drivers/infiniband/ulp/ipoib/Kconfig +++ b/trunk/drivers/infiniband/ulp/ipoib/Kconfig @@ -11,16 +11,17 @@ config INFINIBAND_IPOIB config INFINIBAND_IPOIB_CM bool "IP-over-InfiniBand Connected Mode support" - depends on INFINIBAND_IPOIB && EXPERIMENTAL + depends on INFINIBAND_IPOIB default n ---help--- - This option enables experimental support for IPoIB connected mode. - After enabling this option, you need to switch to connected mode through - /sys/class/net/ibXXX/mode to actually create connections, and then increase - the interface MTU with e.g. ifconfig ib0 mtu 65520. + This option enables support for IPoIB connected mode. After + enabling this option, you need to switch to connected mode + through /sys/class/net/ibXXX/mode to actually create + connections, and then increase the interface MTU with + e.g. ifconfig ib0 mtu 65520. - WARNING: Enabling connected mode will trigger some - packet drops for multicast and UD mode traffic from this interface, + WARNING: Enabling connected mode will trigger some packet + drops for multicast and UD mode traffic from this interface, unless you limit mtu for these destinations to 2044. config INFINIBAND_IPOIB_DEBUG