From: David Miller <da...@davemloft.net> Date: Wed, 23 Sep 2020 17:21:25 -0700 (PDT)
> If an async code path tests 'present', gets true, and then the RTNL > holding synchronous code path puts the device into D3hot immediately > afterwards, the async code path will still continue and access the > chips registers and fault. Wait, is the sequence: ->ndo_stop() mark device not present and put into D3hot triggers linkwatch event ... ->ndo_get_stats64() ??? Then yeah we might have to clear IFF_UP at the beginning of taking a netdev down.