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 |
2 files changed, 3 insertions, 1 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: |