diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-10 00:40:22 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-10 00:40:22 +0400 |
commit | bd381934bf13ccb1af2813ae26c6fe00ec85d254 (patch) | |
tree | 5275ba0640014793b1b81d52312a581384c335d3 /drivers/infiniband/core | |
parent | cc9b0b9bea9a0057840261204a6e01c7e19d444c (diff) | |
parent | 335f2d1b24a350ca8099aea6db5b7adc73666d2f (diff) | |
download | linux-bd381934bf13ccb1af2813ae26c6fe00ec85d254.tar.xz |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
RDMA/addr: Fix resolution of local IPv6 addresses
RDMA/cxgb3: Handle NULL inetdev pointer in iwch_query_port()
mlx4_core: Add 40GigE device ID
RDMA/iwcm: Don't call provider reject func with irqs disabled
IB: Fix typo in udev rule documentation
Diffstat (limited to 'drivers/infiniband/core')
-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, for_each_netdev(&init_net, dev) if (ipv6_chk_addr(&init_net, - &((struct sockaddr_in6 *) addr)->sin6_addr, + &((struct sockaddr_in6 *) dst_in)->sin6_addr, dev, 1)) break; 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) * In either case, must tell the provider to reject. */ cm_id_priv->state = IW_CM_STATE_DESTROYING; + spin_unlock_irqrestore(&cm_id_priv->lock, flags); cm_id->device->iwcm->reject(cm_id, NULL, 0); + spin_lock_irqsave(&cm_id_priv->lock, flags); break; case IW_CM_STATE_CONN_SENT: case IW_CM_STATE_DESTROYING: |