Roland,

We hit a bug in the RHEL4 kernel which was fixed in your latest tree.  The bug
was in mthca_alloc_memfree.  When comparing your code to the current RH kernel,
we wondered why you would not return the error code from mthca_alloc_db rather
than -ENOMEM as demonstrated in the patch below?

Thoughts?
Ira


>From f8c47490fd039efcf74f6470b34e2351fb302455 Mon Sep 17 00:00:00 2001
From: Ira K. Weiny <[EMAIL PROTECTED]>
Date: Thu, 4 Oct 2007 15:16:45 -0700
Subject: [PATCH] Return the error code mthca_alloc_db rather than mask its code 
with ENOMEM.


Signed-off-by: Ira K. Weiny <[EMAIL PROTECTED]>
---
 drivers/infiniband/hw/mthca/mthca_qp.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c 
b/drivers/infiniband/hw/mthca/mthca_qp.c
index df01b20..c1f7e14 100644
--- a/drivers/infiniband/hw/mthca/mthca_qp.c
+++ b/drivers/infiniband/hw/mthca/mthca_qp.c
@@ -1144,13 +1144,13 @@ static int mthca_alloc_memfree(struct mthca_dev *dev,
                qp->rq.db_index = mthca_alloc_db(dev, MTHCA_DB_TYPE_RQ,
                                                 qp->qpn, &qp->rq.db);
                if (qp->rq.db_index < 0)
-                       return -ENOMEM;
+                       return (qp->rq.db_index);
 
                qp->sq.db_index = mthca_alloc_db(dev, MTHCA_DB_TYPE_SQ,
                                                 qp->qpn, &qp->sq.db);
                if (qp->sq.db_index < 0) {
                        mthca_free_db(dev, MTHCA_DB_TYPE_RQ, qp->rq.db_index);
-                       return -ENOMEM;
+                       return (qp->sq.db_index);
                }
        }
 
-- 
1.5.1

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to