freebsd-dev/sys/dev/mlx5/mlx5_ib
Hans Petter Selasky 1866c98e64 Infiniband clients must be attached and detached in a specific order in ibcore.
Currently the linking order of the infiniband, IB, modules decide in which
order the clients are attached and detached. For example one IB client may
use resources from another IB client. This can lead to a potential deadlock
at shutdown. For example if the ipoib is unregistered after the ib_multicast
client is detached, then if ipoib is using multicast addresses a deadlock may
happen, because ib_multicast will wait for all its resources to be freed before
returning from the remove method.

Fix this by using module_xxx_order() instead of module_xxx().

Differential Revision:	https://reviews.freebsd.org/D23973
MFC after:		1 week
Sponsored by:		Mellanox Technologies
2020-07-06 08:50:11 +00:00
..
mlx5_ib_ah.c
mlx5_ib_cong.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
mlx5_ib_cq.c Make sure to error out when arming the CQ fails in mlx4ib and mlx5ib. 2019-05-08 10:33:09 +00:00
mlx5_ib_doorbell.c
mlx5_ib_gsi.c
mlx5_ib_mad.c
mlx5_ib_main.c Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
mlx5_ib_mem.c
mlx5_ib_mr.c
mlx5_ib_qp.c Fix reported max SGE calculation in mlx5ib. 2019-10-02 09:09:28 +00:00
mlx5_ib_srq.c mlx5ib: Fix null pointer dereference in mlx5_ib_create_srq 2018-12-05 13:48:10 +00:00
mlx5_ib_virt.c
mlx5_ib.h Fix broken MLX5_IB_INDEX() macro in mlx5ib(4). 2020-02-21 10:14:02 +00:00