lkey does not seem to be set in the mpt entry. does this look right?

Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]>

Index: hw/mthca/mthca_mr.c
===================================================================
--- hw/mthca/mthca_mr.c (revision 1983)
+++ hw/mthca/mthca_mr.c (working copy)
@@ -206,9 +206,9 @@ int mthca_mr_alloc_notrans(struct mthca_
        mpt_entry->pd        = cpu_to_be32(pd);
        mpt_entry->start     = 0;
        mpt_entry->length    = ~0ULL;
-
-       memset(&mpt_entry->lkey, 0,
-              sizeof *mpt_entry - offsetof(struct mthca_mpt_entry, lkey));
+       mpt_entry->lkey      = cpu_to_be32(mr->ibmr.lkey);
+       memset(&mpt_entry->window_count, 0,
+              sizeof *mpt_entry - offsetof(struct mthca_mpt_entry, 
window_count));
 
        err = mthca_SW2HW_MPT(dev, mpt_entry,
                              key & (dev->limits.num_mpts - 1),
@@ -327,8 +327,9 @@ int mthca_mr_alloc_phys(struct mthca_dev
        mpt_entry->pd        = cpu_to_be32(pd);
        mpt_entry->start     = cpu_to_be64(iova);
        mpt_entry->length    = cpu_to_be64(total_size);
-       memset(&mpt_entry->lkey, 0,
-              sizeof *mpt_entry - offsetof(struct mthca_mpt_entry, lkey));
+       mpt_entry->lkey      = cpu_to_be32(mr->ibmr.lkey);
+       memset(&mpt_entry->window_count, 0,
+              sizeof *mpt_entry - offsetof(struct mthca_mpt_entry, 
window_count));
        mpt_entry->mtt_seg   = cpu_to_be64(dev->mr_table.mtt_base +
                                           mr->first_seg * 
dev->limits.mtt_seg_size);
 

-- 
MST - Michael S. Tsirkin
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to