|
@@ -167,11 +167,21 @@ int mlx4_en_QUERY_PORT(struct mlx4_en_dev *mdev, u8 port)
|
|
/* This command is always accessed from Ethtool context
|
|
/* This command is always accessed from Ethtool context
|
|
* already synchronized, no need in locking */
|
|
* already synchronized, no need in locking */
|
|
state->link_state = !!(qport_context->link_up & MLX4_EN_LINK_UP_MASK);
|
|
state->link_state = !!(qport_context->link_up & MLX4_EN_LINK_UP_MASK);
|
|
- if ((qport_context->link_speed & MLX4_EN_SPEED_MASK) ==
|
|
|
|
- MLX4_EN_1G_SPEED)
|
|
|
|
|
|
+ switch (qport_context->link_speed & MLX4_EN_SPEED_MASK) {
|
|
|
|
+ case MLX4_EN_1G_SPEED:
|
|
state->link_speed = 1000;
|
|
state->link_speed = 1000;
|
|
- else
|
|
|
|
|
|
+ break;
|
|
|
|
+ case MLX4_EN_10G_SPEED_XAUI:
|
|
|
|
+ case MLX4_EN_10G_SPEED_XFI:
|
|
state->link_speed = 10000;
|
|
state->link_speed = 10000;
|
|
|
|
+ break;
|
|
|
|
+ case MLX4_EN_40G_SPEED:
|
|
|
|
+ state->link_speed = 40000;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ state->link_speed = -1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
state->transciver = qport_context->transceiver;
|
|
state->transciver = qport_context->transceiver;
|
|
|
|
|
|
out:
|
|
out:
|