From: "Keller, Jacob E" <jacob.e.kel...@intel.com> Date: Wed, 9 Aug 2017 20:00:55 +0000
> That's what I am worried about. However, I think there are problems > with leaving it. A lot of drivers rely on netif_running() to > determine whether or not the device is open, but they may be using > it relying on all the changes caused by the .ndo_open() handler are > finished. The current system there is a race, since you set the > __LINK_STATE_START before .ndo_open is called. I think this is only a half-accurate description. What drivers want to know is if initialization phase X of ndo_open() has completed. And honestly it must be like this because this is what one would use to guide the teardown during failure paths of ndo_open(), right? So I would really rather drivers internally track this "I initialized X" state, as most drivers do, rather than take the risk of changing the netif_running() behavior which can impact ~500 drivers :-)