diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-09 13:40:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-09 13:40:22 -0700 |
commit | bd381934bf13ccb1af2813ae26c6fe00ec85d254 (patch) | |
tree | 5275ba0640014793b1b81d52312a581384c335d3 /drivers/infiniband/hw/cxgb3/iwch_provider.c | |
parent | cc9b0b9bea9a0057840261204a6e01c7e19d444c (diff) | |
parent | 335f2d1b24a350ca8099aea6db5b7adc73666d2f (diff) |
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/hw/cxgb3/iwch_provider.c')
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_provider.c | 11 |
1 files changed, 7 insertions, 4 deletions
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, props->state = IB_PORT_DOWN; else { inetdev = in_dev_get(netdev); - if (inetdev->ifa_list) - props->state = IB_PORT_ACTIVE; - else + if (inetdev) { + if (inetdev->ifa_list) + props->state = IB_PORT_ACTIVE; + else + props->state = IB_PORT_INIT; + in_dev_put(inetdev); + } else props->state = IB_PORT_INIT; - in_dev_put(inetdev); } props->port_cap_flags = |