Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7254acff authored by Or Gerlitz's avatar Or Gerlitz Committed by David S. Miller
Browse files

mlx4: Disable HA for SRIOV PF RoCE devices



When in HA mode, the driver exposes an IB (RoCE) device instance with only
one port. Under SRIOV, the existing implementation doesn't go well with
the PF RoCE driver's role of Special QPs Para-Virtualization, etc.

As such, disable HA for the mlx4 PF RoCE device in SRIOV mode.

Fixes: a5750090 ('IB/mlx4: Add port aggregation support')
Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 79a25852
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -93,8 +93,14 @@ int mlx4_register_interface(struct mlx4_interface *intf)
	mutex_lock(&intf_mutex);

	list_add_tail(&intf->list, &intf_list);
	list_for_each_entry(priv, &dev_list, dev_list)
	list_for_each_entry(priv, &dev_list, dev_list) {
		if (mlx4_is_mfunc(&priv->dev) && (intf->flags & MLX4_INTFF_BONDING)) {
			mlx4_dbg(&priv->dev,
				 "SRIOV, disabling HA mode for intf proto %d\n", intf->protocol);
			intf->flags &= ~MLX4_INTFF_BONDING;
		}
		mlx4_add_device(intf, priv);
	}

	mutex_unlock(&intf_mutex);