]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/rxe: Skip dgid check in loopback mode
authorZhu Yanjun <yanjunz@mellanox.com>
Tue, 30 Jun 2020 12:36:05 +0000 (15:36 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 7 Jul 2020 16:13:32 +0000 (13:13 -0300)
commit978fb8721c3dd53dc6c45cd4d6af21f26c02e999
tree4b67174e1fa59ac8ddfa68cbe34217deb61e76d7
parent0bfbdc7a0d94fa70afb6a8824c468d3832e50dfa
RDMA/rxe: Skip dgid check in loopback mode

In the loopback tests, the following call trace occurs.

 Call Trace:
  __rxe_do_task+0x1a/0x30 [rdma_rxe]
  rxe_qp_destroy+0x61/0xa0 [rdma_rxe]
  rxe_destroy_qp+0x20/0x60 [rdma_rxe]
  ib_destroy_qp_user+0xcc/0x220 [ib_core]
  uverbs_free_qp+0x3c/0xc0 [ib_uverbs]
  destroy_hw_idr_uobject+0x24/0x70 [ib_uverbs]
  uverbs_destroy_uobject+0x43/0x1b0 [ib_uverbs]
  uobj_destroy+0x41/0x70 [ib_uverbs]
  __uobj_get_destroy+0x39/0x70 [ib_uverbs]
  ib_uverbs_destroy_qp+0x88/0xc0 [ib_uverbs]
  ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0xb9/0xf0 [ib_uverbs]
  ib_uverbs_cmd_verbs+0xb16/0xc30 [ib_uverbs]

The root cause is that the actual RDMA connection is not created in the
loopback tests and the rxe_match_dgid will fail randomly.

To fix this call trace which appear in the loopback tests, skip check of
the dgid.

Fixes: 5deaf88696f1 ("Soft RoCE driver")
Link: https://lore.kernel.org/r/20200630123605.446959-1-leon@kernel.org
Signed-off-by: Zhu Yanjun <yanjunz@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_recv.c