IB/mlx4: Fix incorrect MC join state bit-masking on SR-IOV
authorAlex Vesker <valex@mellanox.com>
Mon, 12 Sep 2016 16:16:18 +0000 (19:16 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 16 Sep 2016 18:14:08 +0000 (14:14 -0400)
commite5ac40cd66c2f3cd11bc5edc658f012661b16347
treed4ca888de8fffae37a2195a29e77507e5838a6b0
parent344bacca8cd811809fc33a249f2738ab757d327f
IB/mlx4: Fix incorrect MC join state bit-masking on SR-IOV

Because of an incorrect bit-masking done on the join state bits, when
handling a join request we failed to detect a difference between the
group join state and the request join state when joining as send only
full member (0x8). This caused the MC join request not to be sent.
This issue is relevant only when SRIOV is enabled and SM supports
send only full member.

This fix separates scope bits and join states bits a nibble each.

Fixes: b9c5d6a64358 ('IB/mlx4: Add multicast group (MCG) paravirtualization for SR-IOV')
Signed-off-by: Alex Vesker <valex@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/mcg.c