[rds-devel] Re: [PATCH] Implement our own RDMA MR pool
Roland Dreier
rdreier at cisco.com
Wed Feb 6 09:36:07 PST 2008
> As I said in another message, I was relying on ib_alloc_fmr to return an error
> when it hits some internal limit. It does that now, but apparently it leaves
> the driver in an inconsistent state.
This made me read over the mthca implementation of FMRs carefully, and
I think I see a bug. Can you try the patch below and see if it makes
a difference?
diff --git a/drivers/infiniband/hw/mthca/mthca_mr.c b/drivers/infiniband/hw/mthca/mthca_mr.c
index 3b69855..3538da1 100644
--- a/drivers/infiniband/hw/mthca/mthca_mr.c
+++ b/drivers/infiniband/hw/mthca/mthca_mr.c
@@ -686,7 +686,7 @@ err_out_table:
mthca_table_put(dev, dev->mr_table.mpt_table, key);
err_out_mpt_free:
- mthca_free(&dev->mr_table.mpt_alloc, mr->ibmr.lkey);
+ mthca_free(&dev->mr_table.mpt_alloc, key);
return err;
}
More information about the rds-devel
mailing list