mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-06 03:50:17 +01:00
device: fix condition for scheduling stage3 after carrier change
When the device gets carrier, we should reschedule stage3 even if the
device state is not exactly IP_CONFIG.
For example if IPv6 autoconf is waiting for carrier and IPv6 is
may-fail=yes, the device could be already ACTIVATED because manual
IPv4 succeeded; after getting carrier, we need to call
nm_device_activate_schedule_stage3_ip_config() to start IPv6 autoconf.
Fixes: bcf31a9b29 ('device: fix assertion failure on master carrier change')
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1165
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1485
This commit is contained in:
parent
c1d234ce30
commit
6ea924fa74
1 changed files with 2 additions and 1 deletions
|
|
@ -6407,7 +6407,8 @@ carrier_changed(NMDevice *self, gboolean carrier)
|
|||
if (carrier) {
|
||||
/* If needed, also resume IP configuration that is
|
||||
* waiting for carrier. */
|
||||
if (priv->state == NM_DEVICE_STATE_IP_CONFIG)
|
||||
if (priv->state >= NM_DEVICE_STATE_IP_CONFIG
|
||||
&& priv->state <= NM_DEVICE_STATE_ACTIVATED)
|
||||
nm_device_activate_schedule_stage3_ip_config(self, FALSE);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue