diff -ruNp org/drivers/infiniband/core/cma.c new/drivers/infiniband/core/cma.c --- org/drivers/infiniband/core/cma.c 2006-10-09 16:40:04.000000000 +0530 +++ new/drivers/infiniband/core/cma.c 2006-10-09 16:52:03.000000000 +0530 @@ -1542,8 +1542,10 @@ static int cma_resolve_loopback(struct r if (!id_priv->cma_dev) { ret = cma_bind_loopback(id_priv); - if (ret) - goto err; + if (ret) { + kfree(work); + return ret; + } } ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid); @@ -1563,9 +1565,6 @@ static int cma_resolve_loopback(struct r work->event.event = RDMA_CM_EVENT_ADDR_RESOLVED; queue_work(cma_wq, &work->work); return 0; -err: - kfree(work); - return ret; } static int cma_bind_addr(struct rdma_cm_id *id, struct sockaddr *src_addr,
_______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general