diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/core/addr.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/core/iwcm.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/core/ucm.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/core/user_mad.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/core/uverbs_main.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_provider.c | 11 |
6 files changed, 13 insertions, 5 deletions
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index 5be1bd4fc7ed..bd07803e9183 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c | |||
@@ -393,7 +393,7 @@ static int addr_resolve_local(struct sockaddr *src_in, | |||
393 | 393 | ||
394 | for_each_netdev(&init_net, dev) | 394 | for_each_netdev(&init_net, dev) |
395 | if (ipv6_chk_addr(&init_net, | 395 | if (ipv6_chk_addr(&init_net, |
396 | &((struct sockaddr_in6 *) addr)->sin6_addr, | 396 | &((struct sockaddr_in6 *) dst_in)->sin6_addr, |
397 | dev, 1)) | 397 | dev, 1)) |
398 | break; | 398 | break; |
399 | 399 | ||
diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c index 55d093a36ae4..625fec5a741c 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c | |||
@@ -362,7 +362,9 @@ static void destroy_cm_id(struct iw_cm_id *cm_id) | |||
362 | * In either case, must tell the provider to reject. | 362 | * In either case, must tell the provider to reject. |
363 | */ | 363 | */ |
364 | cm_id_priv->state = IW_CM_STATE_DESTROYING; | 364 | cm_id_priv->state = IW_CM_STATE_DESTROYING; |
365 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | ||
365 | cm_id->device->iwcm->reject(cm_id, NULL, 0); | 366 | cm_id->device->iwcm->reject(cm_id, NULL, 0); |
367 | spin_lock_irqsave(&cm_id_priv->lock, flags); | ||
366 | break; | 368 | break; |
367 | case IW_CM_STATE_CONN_SENT: | 369 | case IW_CM_STATE_CONN_SENT: |
368 | case IW_CM_STATE_DESTROYING: | 370 | case IW_CM_STATE_DESTROYING: |
diff --git a/drivers/infiniband/core/ucm.c b/drivers/infiniband/core/ucm.c index 51bd9669cb1f..f504c9b00c1b 100644 --- a/drivers/infiniband/core/ucm.c +++ b/drivers/infiniband/core/ucm.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/device.h> | 38 | #include <linux/device.h> |
39 | #include <linux/err.h> | 39 | #include <linux/err.h> |
40 | #include <linux/poll.h> | 40 | #include <linux/poll.h> |
41 | #include <linux/sched.h> | ||
41 | #include <linux/file.h> | 42 | #include <linux/file.h> |
42 | #include <linux/mount.h> | 43 | #include <linux/mount.h> |
43 | #include <linux/cdev.h> | 44 | #include <linux/cdev.h> |
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index 8c46f2257098..7de02969ed7d 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/mutex.h> | 44 | #include <linux/mutex.h> |
45 | #include <linux/kref.h> | 45 | #include <linux/kref.h> |
46 | #include <linux/compat.h> | 46 | #include <linux/compat.h> |
47 | #include <linux/sched.h> | ||
47 | #include <linux/semaphore.h> | 48 | #include <linux/semaphore.h> |
48 | 49 | ||
49 | #include <asm/uaccess.h> | 50 | #include <asm/uaccess.h> |
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index d3fff9e008a3..aec0fbdfe7f0 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/err.h> | 40 | #include <linux/err.h> |
41 | #include <linux/fs.h> | 41 | #include <linux/fs.h> |
42 | #include <linux/poll.h> | 42 | #include <linux/poll.h> |
43 | #include <linux/sched.h> | ||
43 | #include <linux/file.h> | 44 | #include <linux/file.h> |
44 | #include <linux/mount.h> | 45 | #include <linux/mount.h> |
45 | #include <linux/cdev.h> | 46 | #include <linux/cdev.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c index 6895523779d0..03cfaecc3bb7 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_provider.c +++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c | |||
@@ -1199,11 +1199,14 @@ static int iwch_query_port(struct ib_device *ibdev, | |||
1199 | props->state = IB_PORT_DOWN; | 1199 | props->state = IB_PORT_DOWN; |
1200 | else { | 1200 | else { |
1201 | inetdev = in_dev_get(netdev); | 1201 | inetdev = in_dev_get(netdev); |
1202 | if (inetdev->ifa_list) | 1202 | if (inetdev) { |
1203 | props->state = IB_PORT_ACTIVE; | 1203 | if (inetdev->ifa_list) |
1204 | else | 1204 | props->state = IB_PORT_ACTIVE; |
1205 | else | ||
1206 | props->state = IB_PORT_INIT; | ||
1207 | in_dev_put(inetdev); | ||
1208 | } else | ||
1205 | props->state = IB_PORT_INIT; | 1209 | props->state = IB_PORT_INIT; |
1206 | in_dev_put(inetdev); | ||
1207 | } | 1210 | } |
1208 | 1211 | ||
1209 | props->port_cap_flags = | 1212 | props->port_cap_flags = |