diff options
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mr.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mr.c b/drivers/net/ethernet/mellanox/mlx4/mr.c index d6f549685c0f..7094a9c70fd5 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mr.c +++ b/drivers/net/ethernet/mellanox/mlx4/mr.c | |||
| @@ -584,6 +584,7 @@ EXPORT_SYMBOL_GPL(mlx4_mr_free); | |||
| 584 | void mlx4_mr_rereg_mem_cleanup(struct mlx4_dev *dev, struct mlx4_mr *mr) | 584 | void mlx4_mr_rereg_mem_cleanup(struct mlx4_dev *dev, struct mlx4_mr *mr) |
| 585 | { | 585 | { |
| 586 | mlx4_mtt_cleanup(dev, &mr->mtt); | 586 | mlx4_mtt_cleanup(dev, &mr->mtt); |
| 587 | mr->mtt.order = -1; | ||
| 587 | } | 588 | } |
| 588 | EXPORT_SYMBOL_GPL(mlx4_mr_rereg_mem_cleanup); | 589 | EXPORT_SYMBOL_GPL(mlx4_mr_rereg_mem_cleanup); |
| 589 | 590 | ||
| @@ -593,14 +594,14 @@ int mlx4_mr_rereg_mem_write(struct mlx4_dev *dev, struct mlx4_mr *mr, | |||
| 593 | { | 594 | { |
| 594 | int err; | 595 | int err; |
| 595 | 596 | ||
| 596 | mpt_entry->start = cpu_to_be64(iova); | ||
| 597 | mpt_entry->length = cpu_to_be64(size); | ||
| 598 | mpt_entry->entity_size = cpu_to_be32(page_shift); | ||
| 599 | |||
| 600 | err = mlx4_mtt_init(dev, npages, page_shift, &mr->mtt); | 597 | err = mlx4_mtt_init(dev, npages, page_shift, &mr->mtt); |
| 601 | if (err) | 598 | if (err) |
| 602 | return err; | 599 | return err; |
| 603 | 600 | ||
| 601 | mpt_entry->start = cpu_to_be64(mr->iova); | ||
| 602 | mpt_entry->length = cpu_to_be64(mr->size); | ||
| 603 | mpt_entry->entity_size = cpu_to_be32(mr->mtt.page_shift); | ||
| 604 | |||
| 604 | mpt_entry->pd_flags &= cpu_to_be32(MLX4_MPT_PD_MASK | | 605 | mpt_entry->pd_flags &= cpu_to_be32(MLX4_MPT_PD_MASK | |
| 605 | MLX4_MPT_PD_FLAG_EN_INV); | 606 | MLX4_MPT_PD_FLAG_EN_INV); |
| 606 | mpt_entry->flags &= cpu_to_be32(MLX4_MPT_FLAG_FREE | | 607 | mpt_entry->flags &= cpu_to_be32(MLX4_MPT_FLAG_FREE | |
