mlx4_core: limiting VF port options
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>
Thu, 29 Dec 2011 07:42:39 +0000 (07:42 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Dec 2011 20:08:41 +0000 (15:08 -0500)
At the moment VFs can only operate in Eth mode.
In addition we don't want the VF to attempt link sensing,
so we block this option as well.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/fw.c

index e0639ebebe5ed88412c468f60ccda38eaaa38378..8bcc66f2c2a37c3d41aa9895349aa03b9acc1449 100644 (file)
@@ -657,6 +657,8 @@ int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
        u8 port_type;
        int err;
 
+#define MLX4_VF_PORT_ETH_ONLY_MASK     0xE6
+
        err = mlx4_cmd_box(dev, 0, outbox->dma, vhcr->in_modifier, 0,
                           MLX4_CMD_QUERY_PORT, MLX4_CMD_TIME_CLASS_B,
                           MLX4_CMD_NATIVE);
@@ -671,8 +673,8 @@ int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
                MLX4_GET(port_type, outbox->buf,
                         QUERY_PORT_SUPPORTED_TYPE_OFFSET);
 
-               /* disable ib */
-               port_type &= 0xFE;
+               /* Allow only Eth port, no link sensing allowed */
+               port_type &= MLX4_VF_PORT_ETH_ONLY_MASK;
 
                /* check eth is enabled for this port */
                if (!(port_type & 2))