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.
52 lines
2.1 KiB
52 lines
2.1 KiB
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 d8ee4cbb61..bde7bf07fb 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;
|
|
|