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", - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/