device: wait for carrier on unavailable device even when it gets a connection assumed
The test in question leaves the device with a master set, which caused a connection to get assumed and therefore the previous fix didn't kick in. Fixes-test: @restart_L2_only_lacp Fixes:5b7f8f3f70
('device: wait for carrier even if it wasn't us who brought the device IFF_UP') https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1348 (cherry picked from commitc183f10f65
)
This commit is contained in:

committed by
Thomas Haller

parent
db89d0a6fd
commit
9d7e5a3b79
@@ -15787,6 +15787,13 @@ _set_state_full(NMDevice *self, NMDeviceState state, NMDeviceStateReason reason,
|
|||||||
if (priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED)
|
if (priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED)
|
||||||
ip6_managed_setup(self);
|
ip6_managed_setup(self);
|
||||||
device_init_static_sriov_num_vfs(self);
|
device_init_static_sriov_num_vfs(self);
|
||||||
|
|
||||||
|
/* We didn't bring the device up and we have little idea
|
||||||
|
* when was it brought up. Play it safe and assume it could
|
||||||
|
* have been brought up very recently and it might one of
|
||||||
|
* those who take time to detect carrier.
|
||||||
|
*/
|
||||||
|
carrier_detect_wait(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED) {
|
if (priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED) {
|
||||||
@@ -15794,13 +15801,6 @@ _set_state_full(NMDevice *self, NMDeviceState state, NMDeviceStateReason reason,
|
|||||||
if (!nm_device_bring_up(self, TRUE, &no_firmware) && no_firmware)
|
if (!nm_device_bring_up(self, TRUE, &no_firmware) && no_firmware)
|
||||||
_LOGW(LOGD_PLATFORM, "firmware may be missing.");
|
_LOGW(LOGD_PLATFORM, "firmware may be missing.");
|
||||||
nm_device_set_firmware_missing(self, no_firmware ? TRUE : FALSE);
|
nm_device_set_firmware_missing(self, no_firmware ? TRUE : FALSE);
|
||||||
} else {
|
|
||||||
/* We didn't bring the device up and we have little idea
|
|
||||||
* when was it brought up. Play it safe and assume it could
|
|
||||||
* have been brought up very recently and it might one of
|
|
||||||
* those who take time to detect carrier.
|
|
||||||
*/
|
|
||||||
carrier_detect_wait(self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure the device gets deactivated in response to stuff like
|
/* Ensure the device gets deactivated in response to stuff like
|
||||||
|
Reference in New Issue
Block a user