net/mlx4_core: Fix leakage of SW multicast entries
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>
Wed, 16 Jul 2014 08:57:47 +0000 (11:57 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jul 2014 06:26:24 +0000 (23:26 -0700)
commit0d7869acb2f30b64e4fb782b5df309e2287c2e1f
tree385addfeb688d50b7653e1479e260645aa6aa932
parent498044bb2ba39a6fb12c26298c697d5cd9b7378e
net/mlx4_core: Fix leakage of SW multicast entries

When removing multicast address in B0 steering mode there is
a bug in cases where there is a single QP registered for the address,
and this QP is also promiscuous. In such cases the entry wouldn't be
deleted from the SW structure representing all Ethernet MCG entries,
but would be removed in HW. This way when driver goes to remove it
from SW and HW structures the HW deletion fails.
Moreover the same index could later be used for registering
different address, which can be Infiniband.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/mcg.c