From: Si-Wei Liu <si-wei....@oracle.com>

The starting iova address to iterate iotlb map entry within a range
was set to an irrelevant value when passing to the itree_next()
iterator, although luckily it doesn't affect the outcome of finding
out the granule of the smallest iotlb map size. Fix the code to make
it consistent with the following for-loop.

Fixes: 94abbccdf291 ("vdpa/mlx5: Add shared memory registration code")
Signed-off-by: Si-Wei Liu <si-wei....@oracle.com>
Signed-off-by: Dragos Tatulea <dtatu...@nvidia.com>
---
 drivers/vdpa/mlx5/core/mr.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/vdpa/mlx5/core/mr.c b/drivers/vdpa/mlx5/core/mr.c
index 7d0c83b5b071..8455f08f5d40 100644
--- a/drivers/vdpa/mlx5/core/mr.c
+++ b/drivers/vdpa/mlx5/core/mr.c
@@ -368,7 +368,6 @@ static int map_direct_mr(struct mlx5_vdpa_dev *mvdev, 
struct mlx5_vdpa_direct_mr
        unsigned long lgcd = 0;
        int log_entity_size;
        unsigned long size;
-       u64 start = 0;
        int err;
        struct page *pg;
        unsigned int nsg;
@@ -379,10 +378,9 @@ static int map_direct_mr(struct mlx5_vdpa_dev *mvdev, 
struct mlx5_vdpa_direct_mr
        struct device *dma = mvdev->vdev.dma_dev;
 
        for (map = vhost_iotlb_itree_first(iotlb, mr->start, mr->end - 1);
-            map; map = vhost_iotlb_itree_next(map, start, mr->end - 1)) {
+            map; map = vhost_iotlb_itree_next(map, mr->start, mr->end - 1)) {
                size = maplen(map, mr);
                lgcd = gcd(lgcd, size);
-               start += size;
        }
        log_entity_size = ilog2(lgcd);
 
-- 
2.46.1


Reply via email to