summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-power/upower/files/upower-0.9.20-hidraw_with_udev-196.patch')
-rw-r--r--sys-power/upower/files/upower-0.9.20-hidraw_with_udev-196.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/sys-power/upower/files/upower-0.9.20-hidraw_with_udev-196.patch b/sys-power/upower/files/upower-0.9.20-hidraw_with_udev-196.patch
new file mode 100644
index 000000000000..850e010bc17c
--- /dev/null
+++ b/sys-power/upower/files/upower-0.9.20-hidraw_with_udev-196.patch
@@ -0,0 +1,30 @@
+From 232d70155c45d24afabe47ed37954cc000678295 Mon Sep 17 00:00:00 2001
+From: Arkadiusz Miśkiewicz <arekm@maven.pl>
+Date: Wed, 20 Mar 2013 16:51:14 +0000
+Subject: Find hidraw devices correctly with systemd udev >= v196.
+
+udev v196 libraries changed behaviour of g_udev_device_get_sysfs_attr()
+by stopping following symlinks for "device" attribute [1]. That change
+broke hiddev finding for unifying devices. Fix that by getting sysfs
+path from parent hiddev device.
+
+1. http://cgit.freedesktop.org/systemd/systemd/commit/?id=5ae18ddc0d86673520c0dd6b59ccac8afc8aa605
+
+Signed-off-by: Arkadiusz Miśkiewicz <arekm@maven.pl>
+Signed-off-by: Richard Hughes <richard@hughsie.com>
+---
+diff --git a/src/linux/up-device-unifying.c b/src/linux/up-device-unifying.c
+index c7f0103..4b659c3 100644
+--- a/src/linux/up-device-unifying.c
++++ b/src/linux/up-device-unifying.c
+@@ -165,7 +165,7 @@ up_device_unifying_coldplug (UpDevice *device)
+ hidraw_list = g_udev_client_query_by_subsystem (client, "hidraw");
+ for (l = hidraw_list; l != NULL; l = l->next) {
+ if (g_strcmp0 (g_udev_device_get_sysfs_path (parent),
+- g_udev_device_get_sysfs_attr (l->data, "device")) == 0) {
++ g_udev_device_get_sysfs_path(g_udev_device_get_parent(l->data))) == 0) {
+ receiver = g_object_ref (l->data);
+ break;
+ }
+--
+cgit v0.9.0.2-2-gbebe