diff options
Diffstat (limited to 'drivers/net/mlx4/en_ethtool.c')
-rw-r--r-- | drivers/net/mlx4/en_ethtool.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/net/mlx4/en_ethtool.c b/drivers/net/mlx4/en_ethtool.c index c1f351f6ae57..62ace6c72b42 100644 --- a/drivers/net/mlx4/en_ethtool.c +++ b/drivers/net/mlx4/en_ethtool.c | |||
@@ -45,7 +45,20 @@ mlx4_en_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *drvinfo) | |||
45 | struct mlx4_en_priv *priv = netdev_priv(dev); | 45 | struct mlx4_en_priv *priv = netdev_priv(dev); |
46 | struct mlx4_en_dev *mdev = priv->mdev; | 46 | struct mlx4_en_dev *mdev = priv->mdev; |
47 | 47 | ||
48 | sprintf(drvinfo->driver, DRV_NAME " (%s)", mdev->dev->board_id); | 48 | switch (mdev->dev->rev_id) { |
49 | case 0xa0: | ||
50 | if (dev->dev_id >= MLX4_EN_CX3_LOW_ID && dev->dev_id <= MLX4_EN_CX3_HIGH_ID) | ||
51 | sprintf(drvinfo->driver, DRV_NAME " (%s_CX-3)", mdev->dev->board_id); | ||
52 | else | ||
53 | sprintf(drvinfo->driver, DRV_NAME " (%s_CX)", mdev->dev->board_id); | ||
54 | break; | ||
55 | case 0xb0: | ||
56 | sprintf(drvinfo->driver, DRV_NAME " (%s_CX-2)", mdev->dev->board_id); | ||
57 | break; | ||
58 | default: | ||
59 | sprintf(drvinfo->driver, DRV_NAME " (%s)", mdev->dev->board_id); | ||
60 | break; | ||
61 | } | ||
49 | strncpy(drvinfo->version, DRV_VERSION " (" DRV_RELDATE ")", 32); | 62 | strncpy(drvinfo->version, DRV_VERSION " (" DRV_RELDATE ")", 32); |
50 | sprintf(drvinfo->fw_version, "%d.%d.%d", | 63 | sprintf(drvinfo->fw_version, "%d.%d.%d", |
51 | (u16) (mdev->dev->caps.fw_ver >> 32), | 64 | (u16) (mdev->dev->caps.fw_ver >> 32), |