summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2013-01-10 14:23:23 +0100
committerAnthony G. Basile <blueness@gentoo.org>2013-03-14 18:06:48 -0400
commit232e1d3e6bd710d8b213ec0cf95f728d8747f80b (patch)
tree494c2c21328f105a1b327b93ed2ecde7a9198b55
parent2251933e506aea4dd01dec2ab091431677ea16b8 (diff)
udev: Fix device matching in the accelerometer
As we were searching by ID_PATH, it would have been possible for us to find a sibling device instead of the device we were looking for. This fixes device matching on the WeTab with the upstream kernel, as it was trying to use the "Asus Laptop extra buttons" device instead of the accelerometer. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-rw-r--r--src/accelerometer/accelerometer.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/accelerometer/accelerometer.c b/src/accelerometer/accelerometer.c
index 67fed27c5e..76c64d753b 100644
--- a/src/accelerometer/accelerometer.c
+++ b/src/accelerometer/accelerometer.c
@@ -257,7 +257,6 @@ int main (int argc, char** argv)
char devpath[PATH_MAX];
char *devnode;
- const char *id_path;
struct udev_enumerate *enumerate;
struct udev_list_entry *list_entry;
@@ -303,18 +302,10 @@ int main (int argc, char** argv)
return 1;
}
- id_path = udev_device_get_property_value(dev, "ID_PATH");
- if (id_path == NULL) {
- fprintf (stderr, "unable to get property ID_PATH for '%s'", devpath);
- return 0;
- }
-
/* Get the children devices and find the devnode */
- /* FIXME: use udev_enumerate_add_match_parent() instead */
devnode = NULL;
enumerate = udev_enumerate_new(udev);
- udev_enumerate_add_match_property(enumerate, "ID_PATH", id_path);
- udev_enumerate_add_match_subsystem(enumerate, "input");
+ udev_enumerate_add_match_parent(enumerate, dev);
udev_enumerate_scan_devices(enumerate);
udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(enumerate)) {
struct udev_device *device;