device: ethernet: fix handling of autoconnect retries for non-802.1x
Commit4a6fd0e83e
("device: honor the connection.autoconnect-retries for 802.1X") added a reset of the autoconnect retries when the device changes state, because the retry logic for 802.1x is implemented in NMDeviceEthernet. For other connections, we should not reset the retries as NMPolicy handles them. Fixes:4a6fd0e83e
This commit is contained in:
@@ -256,13 +256,14 @@ _update_s390_subchannels (NMDeviceEthernet *self)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
reset_autoconnect_retries (NMDevice *device)
|
reset_8021x_autoconnect_retries (NMDevice *device)
|
||||||
{
|
{
|
||||||
NMActRequest *req;
|
NMActRequest *req;
|
||||||
NMSettingsConnection *connection;
|
NMSettingsConnection *connection;
|
||||||
|
|
||||||
req = nm_device_get_act_request (device);
|
req = nm_device_get_act_request (device);
|
||||||
if (req) {
|
if ( req
|
||||||
|
&& nm_device_get_applied_setting (device, NM_TYPE_SETTING_802_1X)) {
|
||||||
connection = nm_act_request_get_settings_connection (req);
|
connection = nm_act_request_get_settings_connection (req);
|
||||||
g_return_if_fail (connection);
|
g_return_if_fail (connection);
|
||||||
/* Reset autoconnect retries on success, failure, or when deactivating */
|
/* Reset autoconnect retries on success, failure, or when deactivating */
|
||||||
@@ -279,10 +280,11 @@ device_state_changed (NMDevice *device,
|
|||||||
if (new_state > NM_DEVICE_STATE_ACTIVATED)
|
if (new_state > NM_DEVICE_STATE_ACTIVATED)
|
||||||
wired_secrets_cancel (NM_DEVICE_ETHERNET (device));
|
wired_secrets_cancel (NM_DEVICE_ETHERNET (device));
|
||||||
|
|
||||||
if ( new_state == NM_DEVICE_STATE_ACTIVATED
|
if (NM_IN_SET (new_state,
|
||||||
|| new_state == NM_DEVICE_STATE_FAILED
|
NM_DEVICE_STATE_ACTIVATED,
|
||||||
|| new_state == NM_DEVICE_STATE_DISCONNECTED)
|
NM_DEVICE_STATE_FAILED,
|
||||||
reset_autoconnect_retries (device);
|
NM_DEVICE_STATE_DISCONNECTED))
|
||||||
|
reset_8021x_autoconnect_retries (device);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1367,7 +1369,7 @@ deactivate (NMDevice *device)
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
/* Clear wired secrets tries when deactivating */
|
/* Clear wired secrets tries when deactivating */
|
||||||
reset_autoconnect_retries (device);
|
reset_8021x_autoconnect_retries (device);
|
||||||
|
|
||||||
nm_clear_g_source (&priv->pppoe_wait_id);
|
nm_clear_g_source (&priv->pppoe_wait_id);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user