7d206b2b80
See https://bugzilla.redhat.com/show_bug.cgi?id=1790398 for more information.
51 lines
1.4 KiB
Diff
51 lines
1.4 KiB
Diff
From ea3e3e30eb3ce76f6a0ae816a0f35809872f4edf Mon Sep 17 00:00:00 2001
|
|
From: Christian Kellner <christian@kellner.me>
|
|
Date: Mon, 13 Jan 2020 17:38:47 +0100
|
|
Subject: [PATCH] manager: ignore wakeup device uevents for probing
|
|
|
|
The probing detection code should ignore wakeup device uevents
|
|
because these virtual devices can be added (and removed) without
|
|
and correspondence to any physical thunderbolt device (un-)plug
|
|
events.
|
|
---
|
|
boltd/bolt-manager.c | 16 ++++++++++++++++
|
|
1 file changed, 16 insertions(+)
|
|
|
|
diff --git a/boltd/bolt-manager.c b/boltd/bolt-manager.c
|
|
index 877c008..c8b60da 100644
|
|
--- a/boltd/bolt-manager.c
|
|
+++ b/boltd/bolt-manager.c
|
|
@@ -2043,6 +2043,16 @@ device_is_thunderbolt_root (struct udev_device *dev)
|
|
bolt_streq (driver, "thunderbolt");
|
|
}
|
|
|
|
+static gboolean
|
|
+device_is_wakeup (struct udev_device *dev)
|
|
+{
|
|
+ const char *subsys;
|
|
+
|
|
+ subsys = udev_device_get_subsystem (dev);
|
|
+
|
|
+ return bolt_streq (subsys, "wakeup");
|
|
+}
|
|
+
|
|
static gboolean
|
|
probing_add_root (BoltManager *mgr,
|
|
struct udev_device *dev)
|
|
@@ -2080,6 +2090,12 @@ manager_probing_device_added (BoltManager *mgr,
|
|
if (syspath == NULL)
|
|
return;
|
|
|
|
+ /* ignore events for wakeup devices which get removed
|
|
+ * and added at random time without any connection to
|
|
+ * any physical thunderbolt device */
|
|
+ if (device_is_wakeup (dev))
|
|
+ return;
|
|
+
|
|
roots = mgr->probing_roots;
|
|
for (guint i = 0; i < roots->len; i++)
|
|
{
|
|
--
|
|
2.24.1
|
|
|