On Tue, May 15, 2018 at 03:13:33PM +0300, Michal Kalderon wrote: > 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@xxxxxxxxxx> > Signed-off-by: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> > --- > V2 > Use %pK to avoid leaking kernel pointers. > --- > drivers/infiniband/hw/qedr/verbs.c | 60 ++++++++++++++++++-------------------- > 1 file changed, 29 insertions(+), 31 deletions(-) > Thanks, Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature