Re: [PATCH] Revert "net: linkwatch: add check for netdevice being present to linkwatch_do_dev"

From: David Miller
Date: Fri Sep 18 2020 - 18:11:03 EST


From: Saeed Mahameed <saeed@xxxxxxxxxx>
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.