#define ADVERTISE_PAUSE_ASYM_FIBER     0x100
 
 #define REGISTER_LINK_STATUS   0x400
+#define NB_FIBER_STATS 1
 
 MODULE_DESCRIPTION("Marvell PHY driver");
 MODULE_AUTHOR("Andy Fleming");
 };
 
 static struct marvell_hw_stat marvell_hw_stats[] = {
-       { "phy_receive_errors", 0, 21, 16},
+       { "phy_receive_errors_copper", 0, 21, 16},
        { "phy_idle_errors", 0, 10, 8 },
+       { "phy_receive_errors_fiber", 1, 21, 16},
 };
 
 struct marvell_priv {
 
 static int marvell_get_sset_count(struct phy_device *phydev)
 {
-       return ARRAY_SIZE(marvell_hw_stats);
+       if (phydev->supported & SUPPORTED_FIBRE)
+               return ARRAY_SIZE(marvell_hw_stats);
+       else
+               return ARRAY_SIZE(marvell_hw_stats) - NB_FIBER_STATS;
 }
 
 static void marvell_get_strings(struct phy_device *phydev, u8 *data)