Package: xserver-xorg-input-synaptics Version: 0.14.7~git20070706-4~dmitrmax.1 Severity: grave Tags: patch Justification: renders package unusable
Driver forgets to ungrab the event device so the next time it is grabbed EBUSY is returned. This happens e.g. when I logoff from KDE session and return to KDM screen. Only restarting the X server helps. Bellow patch that fixes the problem. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages xserver-xorg-input-synaptics depends on: ii libc6 2.7-15 GNU C Library: Shared libraries ii libx11-6 2:1.1.5-2 X11 client-side library ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar ii libxi6 2:1.1.3-1 X11 Input extension library ii xserver-xorg-core 2:1.4.2-7 Xorg X server - core server xserver-xorg-input-synaptics recommends no packages. Versions of packages xserver-xorg-input-synaptics suggests: pn gsynaptics | ksynaptics | qsy <none> (no description available) -- no debconf information -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages xserver-xorg-input-synaptics depends on: ii libc6 2.7-15 GNU C Library: Shared libraries ii libx11-6 2:1.1.5-2 X11 client-side library ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar ii libxi6 2:1.1.3-1 X11 Input extension library ii xserver-xorg-core 2:1.4.2-7 Xorg X server - core server xserver-xorg-input-synaptics recommends no packages. Versions of packages xserver-xorg-input-synaptics suggests: pn gsynaptics | ksynaptics | qsy <none> (no description available) -- no debconf information
--- xfree86-driver-synaptics-0.14.7~git20070706.orig/eventcomm.c +++ xfree86-driver-synaptics-0.14.7~git20070706/eventcomm.c @@ -58,6 +58,16 @@ static void EventDeviceOffHook(LocalDevicePtr local) { + SynapticsPrivate *priv = (SynapticsPrivate *) (local->private); + + if (priv->synpara->grab_event_device) { + int ret; + SYSCALL(ret = ioctl(local->fd, EVIOCGRAB, (pointer)0)); + if (ret < 0) { + xf86Msg(X_WARNING, "%s can't ungrab event device, errno=%d\n", + local->name, errno); + } + } } static void