[openib-general] Re: mthca and LinuxBIOS

Roland Dreier rolandd at cisco.com
Thu Aug 4 20:47:12 PDT 2005


Hmm, that output all looks fine.  Can you run with the patch below to
see exactly where the QP table initialization fails?  (I haven't
actually compiled this patch so you may have to fix a typo or two)

I'm guessing that the CONF_SPECIAL_QP command is failing, but let's
make sure.

Thanks,
  Roland

diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c
--- a/drivers/infiniband/hw/mthca/mthca_qp.c
+++ b/drivers/infiniband/hw/mthca/mthca_qp.c
@@ -2214,13 +2214,16 @@ int __devinit mthca_init_qp_table(struct
 			       (1 << 24) - 1,
 			       dev->qp_table.sqp_start +
 			       MTHCA_MAX_PORTS * 2);
-	if (err)
+	if (err) {
+		mthca_err(dev, "mthca_init_qp_table: mthca_alloc_init failed (%d)\n", err);
 		return err;
+	}
 
 	err = mthca_array_init(&dev->qp_table.qp,
 			       dev->limits.num_qps);
 	if (err) {
 		mthca_alloc_cleanup(&dev->qp_table.alloc);
+		mthca_err(dev, "mthca_init_qp_table: mthca_array_init failed (%d)\n", err);
 		return err;
 	}
 
@@ -2228,8 +2231,10 @@ int __devinit mthca_init_qp_table(struct
 		err = mthca_CONF_SPECIAL_QP(dev, i ? IB_QPT_GSI : IB_QPT_SMI,
 					    dev->qp_table.sqp_start + i * 2,
 					    &status);
-		if (err)
+		if (err) {
+			mthca_err(dev, "mthca_init_qp_table: mthca_CONF_SPECIAL_QP failed for %d/%d (%d)\n", i, dev->qp_table.sqp_start + i * 2, err);
 			goto err_out;
+		}
 		if (status) {
 			mthca_warn(dev, "CONF_SPECIAL_QP returned "
 				   "status %02x, aborting.\n",



More information about the general mailing list