From: Steve Wise Date: Wed, 7 Oct 2009 22:51:07 +0000 (-0700) Subject: RDMA/cxgb3: Handle NULL inetdev pointer in iwch_query_port() X-Git-Tag: 2.1b_release~10651^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5da4ed8a486113a4b0e587a0c7843e4a9c08aac;p=platform%2Fkernel%2Fkernel-mfld-blackbay.git RDMA/cxgb3: Handle NULL inetdev pointer in iwch_query_port() in_dev_get() can return NULL. If it does, iwch_query_port() will crash. Handle the NULL case by mapping it to port state INIT. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c index 6895523..03cfaec 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 =