From: Saeed Mahameed <sa...@kernel.org> Date: Fri, 18 Sep 2020 10:58:49 -0700
> On Tue, 2020-09-01 at 17:02 +0200, Geert Uytterhoeven wrote: >> @@ -158,7 +158,7 @@ static void linkwatch_do_dev(struct net_device >> *dev) >> clear_bit(__LINK_STATE_LINKWATCH_PENDING, &dev->state); >> >> rfc2863_policy(dev); >> - if (dev->flags & IFF_UP && netif_device_present(dev)) { >> + if (dev->flags & IFF_UP) { > > So with your issue the devices is both IFF_UP and !present ? how so ? > I think you should look into that. > > I am ok with removing the "dev present" check from here just because we > shouldn't be expecting IFF_UP && !present .. such thing must be a bug > somewhere else. Indeed, this is why I just asked in another email why a link change event is firing for a device which hasn't fully resumed and marked itself as "present" yet. More and more I think this is a driver or PHY layer bug.