diff options
author | Kalderon, Michal <Michal.Kalderon@cavium.com> | 2018-05-15 14:13:33 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-05-23 23:12:14 +0200 |
commit | 30bf066cd9989fef34aeeef9080368867fe42be7 (patch) | |
tree | 2a5a2a726b03f279d23e10f3837d562cefab8c41 /include/rdma/uverbs_ioctl.h | |
parent | IB/umem: Use the correct mm during ib_umem_release (diff) | |
download | linux-30bf066cd9989fef34aeeef9080368867fe42be7.tar.xz linux-30bf066cd9989fef34aeeef9080368867fe42be7.zip |
RDMA/qedr: Fix doorbell bar mapping for dpi > 1
Each user_context receives a separate dpi value and thus a different
address on the doorbell bar. The qedr_mmap function needs to validate
the address and map the doorbell bar accordingly.
The current implementation always checked against dpi=0 doorbell range
leading to a wrong mapping for doorbell bar. (It entered an else case
that mapped the address differently). qedr_mmap should only be used
for doorbells, so the else was actually wrong in the first place.
This only has an affect on arm architecture and not an issue on a
x86 based architecture.
This lead to doorbells not occurring on arm based systems and left
applications that use more than one dpi (or several applications
run simultaneously ) to hang.
Fixes: ac1b36e55a51 ("qedr: Add support for user context verbs")
Signed-off-by: Ariel Elior <Ariel.Elior@cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon@cavium.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'include/rdma/uverbs_ioctl.h')
0 files changed, 0 insertions, 0 deletions