summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-10-02 10:35:04 +0200
committerLubomir Rintel <lkundrak@v3.sk>2019-10-02 11:29:53 +0200
commita5ca504b5be77ef1fefbb6e8d159377e2b7bbe68 (patch)
tree4bcb89bd347b512860fc45dfe5729c5ff751a1b3
parent8d352b5a47a12e042ff22eb68e9f674d3d7df3d5 (diff)
downloadNetworkManager-a5ca504b5be77ef1fefbb6e8d159377e2b7bbe68.tar.gz
bluetooth: don't set the ifindex after the device has been activated
The Bluetooth DUN device's NMModem would signal the reset of ifindex to zero when it's disconnected and the NMDeviceBt would accordingly update the bluetooth device's ip ifindex. This is not okay since commit ab4578302d69 ('device: refactor nm_device_set_ip_ifindex() and set_ip_iface()') which, although claiming to be a refactoring, made such use of nm_device_set_ip_ifindex() illegal. Resetting the ifindex is anyway not necessary, since it's taken care of _cleanup_generic_post(). Let's leave the ifindex alone once the device is activated, in a manner analogous to what NMDeviceModem. Fixes: ab4578302d69 ('device: refactor nm_device_set_ip_ifindex() and set_ip_iface()') Fixes: 78ca2a70c719 ('device: don't set invalid ip-iface'):
-rw-r--r--src/devices/bluetooth/nm-device-bt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/devices/bluetooth/nm-device-bt.c b/src/devices/bluetooth/nm-device-bt.c
index 774862f9fb..497810c36f 100644
--- a/src/devices/bluetooth/nm-device-bt.c
+++ b/src/devices/bluetooth/nm-device-bt.c
@@ -571,6 +571,9 @@ ip_ifindex_changed_cb (NMModem *modem, GParamSpec *pspec, gpointer user_data)
{
NMDevice *device = NM_DEVICE (user_data);
+ if (!nm_device_is_activating (device))
+ return;
+
if (!nm_device_set_ip_ifindex (device,
nm_modem_get_ip_ifindex (modem))) {
nm_device_state_changed (device,