IB/mlx5: Fix page fault handling for MW
authorArtemy Kovalyov <artemyko@mellanox.com>
Sun, 25 Nov 2018 18:34:26 +0000 (20:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Dec 2018 08:24:36 +0000 (09:24 +0100)
commit4f03e063a55453d0bfc86750ae4829ec86e091e7
tree410776c9bae8f01068766b6a5d3cbebbe3e8a265
parent9838090d9859bb6f01a35a7f10d3f88349569ade
IB/mlx5: Fix page fault handling for MW

[ Upstream commit 75b7b86bdb0df37e08e44b6c1f99010967f81944 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx5/odp.c