From 3b84bb2135a9ceb1fb66a4d6880de48f7a85dfb9 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 9 Jul 2021 11:50:25 +0100 Subject: [PATCH] trivial: Set the backend ID on children if unset This allows children of devices that derive from FuUdevDevice to be removed correctly. --- libfwupdplugin/fu-device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libfwupdplugin/fu-device.c b/libfwupdplugin/fu-device.c index c55bf1f94..143e35bea 100644 --- a/libfwupdplugin/fu-device.c +++ b/libfwupdplugin/fu-device.c @@ -1102,6 +1102,7 @@ void fu_device_add_child (FuDevice *self, FuDevice *child) { FuDevicePrivate *priv = GET_PRIVATE (self); + FuDevicePrivate *priv_child = GET_PRIVATE (child); GPtrArray *children; g_autoptr(GError) error = NULL; @@ -1136,6 +1137,8 @@ fu_device_add_child (FuDevice *self, FuDevice *child) if (fu_device_get_physical_id (child) == NULL && fu_device_get_physical_id (self) != NULL) fu_device_set_physical_id (child, fu_device_get_physical_id (self)); + if (priv_child->backend_id == NULL && priv->backend_id != NULL) + fu_device_set_backend_id (child, priv->backend_id); if (fu_device_get_vendor (child) == NULL) fu_device_set_vendor (child, fu_device_get_vendor (self)); if (fu_device_get_vendor_ids(child)->len == 0) {