summaryrefslogtreecommitdiff
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorArtemy Kovalyov <artemyko@mellanox.com>2018-11-25 20:34:26 +0200
committerJason Gunthorpe <jgg@mellanox.com>2018-11-26 16:28:36 -0700
commit75b7b86bdb0df37e08e44b6c1f99010967f81944 (patch)
tree469b60c54ad1aaaa6f41fd95477acf7e82ad14d7 /drivers/infiniband
parent605728e65ad303a1b639bcae7c0abd2e24e6a930 (diff)
downloadlwn-75b7b86bdb0df37e08e44b6c1f99010967f81944.tar.gz
lwn-75b7b86bdb0df37e08e44b6c1f99010967f81944.zip
IB/mlx5: Fix page fault handling for MW
Memory windows are implemented with an indirect MKey, when a page fault event comes for a MW Mkey we need to find the MR at the end of the list of the indirect MKeys by iterating on all items from the first to the last. The offset calculated during this process has to be zeroed after the first iteration or the next iteration will start from a wrong address, resulting incorrect ODP faulting behavior. Fixes: db570d7deafb ("IB/mlx5: Add ODP support to MW") Signed-off-by: Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by: Moni Shoua <monis@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/mlx5/odp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx5/odp.c b/drivers/infiniband/hw/mlx5/odp.c
index 2a0743808bd8..b711a0f3aa35 100644
--- a/drivers/infiniband/hw/mlx5/odp.c
+++ b/drivers/infiniband/hw/mlx5/odp.c
@@ -743,6 +743,7 @@ next_mr:
head = frame;
bcnt -= frame->bcnt;
+ offset = 0;
}
break;