]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/ulp/ipoib/ipoib_verbs.c
Pull battery into release branch
[linux-2.6] / drivers / infiniband / ulp / ipoib / ipoib_verbs.c
index 791252621b26a40969034deb4e24495e06a1d352..563aeacf9e14088cc9054030f418d4c0bf717756 100644 (file)
@@ -173,7 +173,7 @@ int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca)
        size = ipoib_sendq_size + ipoib_recvq_size + 1;
        ret = ipoib_cm_dev_init(dev);
        if (!ret)
-               size += ipoib_recvq_size;
+               size += ipoib_recvq_size + 1 /* 1 extra for rx_drain_qp */;
 
        priv->cq = ib_create_cq(priv->ca, ipoib_ib_completion, NULL, dev, size, 0);
        if (IS_ERR(priv->cq)) {
@@ -211,6 +211,7 @@ out_free_cq:
 
 out_free_mr:
        ib_dereg_mr(priv->mr);
+       ipoib_cm_dev_cleanup(dev);
 
 out_free_pd:
        ib_dealloc_pd(priv->pd);