diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 6abf05b7..3a342c9e 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -1246,6 +1246,7 @@ static inline void set_speed_work_func(struct work_struct *work) struct phy_device *phydev = pdata->phydev; nveu32_t iface_mode = pdata->osi_core->phy_iface_mode; struct clk *mac_clk = NULL; + unsigned long val = 0; #ifndef OSI_STRIPPED_LIB unsigned int eee_enable = OSI_DISABLE; #endif /* !OSI_STRIPPED_LIB */ @@ -1304,6 +1305,12 @@ static inline void set_speed_work_func(struct work_struct *work) return; } + if (!pdata->oldlink) { + pdata->oldlink = 1; + val = pdata->xstats.link_connect_count; + pdata->xstats.link_connect_count = update_stats_counter(val, 1UL); + } + /* Set MGBE MAC_DIV/TX clk rate */ pdata->speed = speed; phy_print_status(phydev);