diff options
author | Treeve Jelbert | 2009-12-03 12:37:18 +0100 |
---|---|---|
committer | Treeve Jelbert | 2009-12-03 12:37:18 +0100 |
commit | 27ace2340e275a51d19efb2a7b101f1d0607b990 (patch) | |
tree | 78bf5301b38592f69004a8c43907bf3a58ec6778 | |
parent | cfdb643c8781a31a5e945b8d0f1c9a471f3552f0 (diff) |
udev - fix loop when detecting usb mice
apply upstream patch
-rwxr-xr-x | disk/udev/DETAILS | 1 | ||||
-rw-r--r-- | disk/udev/HISTORY | 10 | ||||
-rwxr-xr-x | disk/udev/PRE_BUILD | 3 | ||||
-rw-r--r-- | disk/udev/mice.diff | 29 |
4 files changed, 42 insertions, 1 deletions
diff --git a/disk/udev/DETAILS b/disk/udev/DETAILS index fcc05d789e..ee90f3d04b 100755 --- a/disk/udev/DETAILS +++ b/disk/udev/DETAILS @@ -1,5 +1,6 @@ SPELL=udev VERSION=148 + PATCHLEVEL=1 SOURCE=$SPELL-$VERSION.tar.bz2 SOURCE2=$SOURCE.sign SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION" diff --git a/disk/udev/HISTORY b/disk/udev/HISTORY index c5637a3a2d..53d2271c41 100644 --- a/disk/udev/HISTORY +++ b/disk/udev/HISTORY @@ -1,3 +1,13 @@ +2009-12-03 Treeve Jelbert <treeve@sourcemage.org> + * DETAILS: PATCHLEVEL++ + * mice.diff: added, upstream patch + * PRE_BUILD: apply mice.diff + input_id: Fix endless loop for non-input devices + When being called on a device which is not in the "input" subsystem, or doesn't + have an "input" parent, it got stuck in an endless loop. Unfortunately this + includes the virtual/input/mice multiplexer, which exposes this bug on just + about every system. + 2009-12-02 Treeve Jelbert <treeve@sourcemage.org> * DETAILS: version 148 diff --git a/disk/udev/PRE_BUILD b/disk/udev/PRE_BUILD index 7a4278e9d5..a0cf0973e3 100755 --- a/disk/udev/PRE_BUILD +++ b/disk/udev/PRE_BUILD @@ -15,5 +15,6 @@ else default_pre_build && cd "$SOURCE_DIRECTORY" fi && - +# +patch -p1 < $SPELL_DIRECTORY/mice.diff && sed -i "s:install-dist_udevconfDATA::g" Makefile.in diff --git a/disk/udev/mice.diff b/disk/udev/mice.diff new file mode 100644 index 0000000000..c3c390f1e7 --- /dev/null +++ b/disk/udev/mice.diff @@ -0,0 +1,29 @@ +From 22f9cb51c39a6fef1109bfd24e97d2fdda327a9e Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martin.pitt@ubuntu.com> +Date: Thu, 3 Dec 2009 10:16:49 +0100 +Subject: [PATCH] input_id: Fix endless loop for non-input devices + +When being called on a device which is not in the "input" subsystem, or doesn't +have an "input" parent, it got stuck in an endless loop. Unfortunately this +includes the virtual/input/mice multiplexer, which exposes this bug on just +about every system. +--- + extras/input_id/input_id.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/extras/input_id/input_id.c b/extras/input_id/input_id.c +index 3754cde..fededa3 100644 +--- a/extras/input_id/input_id.c ++++ b/extras/input_id/input_id.c +@@ -143,7 +143,7 @@ int main (int argc, char** argv) + + /* walk up the parental chain until we find the real input device; the + * argument is very likely a subdevice of this, like eventN */ +- while (udev_device_get_sysattr_value(dev, "capabilities/key") == NULL) ++ while (dev != NULL && udev_device_get_sysattr_value(dev, "capabilities/key") == NULL) + dev = udev_device_get_parent(dev); + + /* Use this as a flag that input devices were detected, so that this +-- +1.6.5.1 + |