You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.1 KiB
53 lines
2.1 KiB
7 years ago
|
From 7d6891da40f2f5cfbc5bf02b6a58dc49c1577373 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||
|
Date: Fri, 20 Mar 2015 12:48:24 +1000
|
||
|
Subject: [PATCH] udev: builtin-keyboard: move fetching the device node up
|
||
|
|
||
|
No point parsing the properties if we can't get the devnode to apply them
|
||
|
later. Plus, this makes future additions easier to slot in.
|
||
|
|
||
|
(cherry picked from commit 753bd5c7ede5e74c21221fcf59de3ce320d6722d)
|
||
|
|
||
|
Resolves: #1500119
|
||
|
---
|
||
|
src/udev/udev-builtin-keyboard.c | 16 ++++++++--------
|
||
|
1 file changed, 8 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c
|
||
|
index d8ee4cbb6..bde7bf07f 100644
|
||
|
--- a/src/udev/udev-builtin-keyboard.c
|
||
|
+++ b/src/udev/udev-builtin-keyboard.c
|
||
|
@@ -75,6 +75,13 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo
|
||
|
unsigned map_count = 0;
|
||
|
unsigned release[1024];
|
||
|
unsigned release_count = 0;
|
||
|
+ const char *node;
|
||
|
+
|
||
|
+ node = udev_device_get_devnode(dev);
|
||
|
+ if (!node) {
|
||
|
+ log_error("Error, no device node for '%s'", udev_device_get_syspath(dev));
|
||
|
+ return EXIT_FAILURE;
|
||
|
+ }
|
||
|
|
||
|
udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) {
|
||
|
const char *key;
|
||
|
@@ -128,17 +135,10 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo
|
||
|
}
|
||
|
|
||
|
if (map_count > 0 || release_count > 0) {
|
||
|
- const char *node;
|
||
|
int fd;
|
||
|
unsigned i;
|
||
|
|
||
|
- node = udev_device_get_devnode(dev);
|
||
|
- if (!node) {
|
||
|
- log_error("Error, no device node for '%s'", udev_device_get_syspath(dev));
|
||
|
- return EXIT_FAILURE;
|
||
|
- }
|
||
|
-
|
||
|
- fd = open(udev_device_get_devnode(dev), O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
|
||
|
+ fd = open(node, O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
|
||
|
if (fd < 0) {
|
||
|
log_error_errno(errno, "Error, opening device '%s': %m", node);
|
||
|
return EXIT_FAILURE;
|