From 88bbc24cd275253fd495d7bc896adda644316bb5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 27 Jun 2017 17:46:28 +0200 Subject: logind: filter out input devices that have none of the keys/switche we care about Let's check what keys are there, before we actually hang on to the opened devices. --- src/login/logind-core.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/login/logind-core.c') diff --git a/src/login/logind-core.c b/src/login/logind-core.c index e505fcb0e..7e6b63f12 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -269,7 +269,11 @@ int manager_process_button_device(Manager *m, struct udev_device *d) { sn = "seat0"; button_set_seat(b, sn); - button_open(b); + + r = button_open(b); + if (r < 0) /* event device doesn't have any keys or switches relevant to us? (or any other error + * opening the device?) let's close the button again. */ + button_free(b); } return 0; -- cgit v1.2.3