Skip to content
  • Dan Williams's avatar
    core: create devices first and realize them later · 4dbaac4b
    Dan Williams authored and Thomas Haller's avatar Thomas Haller committed
    Unrealized devices aren't backed by kernel resources and so won't know
    all of their attributes.  That means three things:
    
    1) they must update their attributes when they become realized
    2) they must clear those attributes when unrealized
    3) they must be looser in checking compatible connections until
    they are realized
    
    This requires that the setup() function be split into two parts, start & finish,
    because finish must be run after add_device()
    
    Also, we can simplify whether to pay attention to 'recheck-assume', which
    is now dependent on priv->is_nm_owned, because the only case where NM should
    *not* listen for the 'recheck-assume' signal is when the device is a
    software device created by NM itself.  That logic was previously spread
    across the callers of add_device() but is now consolidated into
    nm-manager.c::device_realized() and nm-device.c::nm_device_create_and_realize().
    4dbaac4b