IB/mlx4: Fix race when detaching a QP from a multicast group
authorEli Cohen <eli@dev.mellanox.co.il>
Thu, 17 Apr 2008 04:09:35 +0000 (21:09 -0700)
committerRoland Dreier <rolandd@cisco.com>
Thu, 17 Apr 2008 04:09:35 +0000 (21:09 -0700)
commit4dc51b32582d45cb7e8322d750ffe0e6d82b506d
tree0d8549a6cc82b9719086a2673c76de8cd5b161e9
parentc83b5b1cb2b050c7a9054f330598df99c31abb98
IB/mlx4: Fix race when detaching a QP from a multicast group

When detaching the last QP from an MCG entry, we need to make
sure that at any time, there will be no entry with zero number of
QPs which is linked to the list of the MCGs of the corresponding
hash index.  So don't write back the MCG entry if we are removing the
last QP; just unlink the entry.

Also, remove an unnecessary MCG read when attaching a QP requires
allocation of a new entry in the AMGM.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/net/mlx4/mcg.c