IB/rxe: Clear queue buffer when modifying QP to reset
authorYonatan Cohen <yonatanc@mellanox.com>
Wed, 16 Nov 2016 08:39:17 +0000 (10:39 +0200)
committerDoug Ledford <dledford@redhat.com>
Thu, 17 Nov 2016 01:03:44 +0000 (20:03 -0500)
commitaa75b07b478a774b1432e2df1be5cd8ae834de0f
tree61258e0d529054999d30e085d1609ed4f4c5e0ba
parent002e062e13db10973adb8302f231e48b477c7ccf
IB/rxe: Clear queue buffer when modifying QP to reset

RXE resets the send-q only once in rxe_qp_init_req() when
QP is created, but when the QP is reused after QP reset, the send-q
holds previous garbage data.

This garbage data wrongly fails CQEs that otherwise
should have completed successfully.

Fixes: 8700e3e7c485 ("Soft RoCE driver")
Signed-off-by: Yonatan Cohen <yonatanc@mellanox.com>
Reviewed-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rxe/rxe_qp.c
drivers/infiniband/sw/rxe/rxe_queue.c
drivers/infiniband/sw/rxe/rxe_queue.h