linux_dsm_epyc7002/drivers/infiniband
Jason Gunthorpe 3647a28de1 RDMA/cma: Using the standard locking pattern when delivering the removal event
Whenever an event is delivered to the handler it should be done under the
handler_mutex and upon any non-zero return from the handler it should
trigger destruction of the cm_id.

cma_process_remove() skips some steps here, it is not necessarily wrong
since the state change should prevent any races, but it is confusing and
unnecessary.

Follow the standard pattern here, with the slight twist that the
transition to RDMA_CM_DEVICE_REMOVAL includes a cma_cancel_operation().

Link: https://lore.kernel.org/r/20200723070707.1771101-3-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-07-29 14:10:02 -03:00
..
core RDMA/cma: Using the standard locking pattern when delivering the removal event 2020-07-29 14:10:02 -03:00
hw RDMA/efa: Add EFA 0xefa1 PCI ID 2020-07-29 09:23:40 -03:00
sw RDMA/siw: Remove the query_pkey callback 2020-07-20 16:18:16 -03:00
ulp IB/srpt: use new shared CQ mechanism 2020-07-29 09:10:32 -03:00
Kconfig IB/uverbs: Enable CQ ioctl commands by default 2020-07-06 19:50:33 -03:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00