mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-06 07:20:14 +01:00
ethernet: notify when setting s390 subchannels
This commit is contained in:
parent
6036ef5d74
commit
a040e447d0
1 changed files with 16 additions and 8 deletions
|
|
@ -164,11 +164,20 @@ _update_s390_subchannels (NMDeviceEthernet *self)
|
|||
NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
|
||||
gs_unref_object GUdevDevice *dev = NULL;
|
||||
gs_unref_object GUdevDevice *parent = NULL;
|
||||
const char *parent_path, *item, *driver;
|
||||
const char *parent_path, *item;
|
||||
int ifindex;
|
||||
GDir *dir;
|
||||
GError *error = NULL;
|
||||
|
||||
if (priv->subchannels) {
|
||||
/* only read the subchannels once. For one, we don't expect them to change
|
||||
* on multiple invocations. Second, we didn't implement proper reloading.
|
||||
* Proper reloading might also be complicated, because the subchannels are
|
||||
* used to match on devices based on a device-spec. Thus, it's not clear
|
||||
* what it means to change afterwards. */
|
||||
return;
|
||||
}
|
||||
|
||||
ifindex = nm_device_get_ifindex ((NMDevice *) self);
|
||||
dev = (GUdevDevice *) nm_g_object_ref (nm_platform_link_get_udev_device (NM_PLATFORM_GET, ifindex));
|
||||
if (!dev) {
|
||||
|
|
@ -249,9 +258,11 @@ _update_s390_subchannels (NMDeviceEthernet *self)
|
|||
priv->subchannels_dbus[2] = g_strdup (priv->subchan3);
|
||||
priv->subchannels_dbus[3] = NULL;
|
||||
|
||||
driver = nm_device_get_driver ((NMDevice *) self);
|
||||
_LOGI (LOGD_DEVICE | LOGD_HW, "update-s390: found s390 '%s' subchannels [%s]",
|
||||
driver ? driver : "(unknown driver)", priv->subchannels);
|
||||
nm_device_get_driver ((NMDevice *) self) ?: "(unknown driver)",
|
||||
priv->subchannels);
|
||||
|
||||
_notify (self, PROP_S390_SUBCHANNELS);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -1544,12 +1555,9 @@ carrier_changed (NMDevice *device, gboolean carrier)
|
|||
static void
|
||||
link_changed (NMDevice *device, NMPlatformLink *info)
|
||||
{
|
||||
NMDeviceEthernet *self = NM_DEVICE_ETHERNET (device);
|
||||
NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
|
||||
|
||||
NM_DEVICE_CLASS (nm_device_ethernet_parent_class)->link_changed (device, info);
|
||||
if (!priv->subchan1 && info->initialized)
|
||||
_update_s390_subchannels (self);
|
||||
if (info->initialized)
|
||||
_update_s390_subchannels ((NMDeviceEthernet *) device);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue