<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/drivers/input, branch wip-extra-debug</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>Input: evdev - fix EVIOCSABS regression</title>
<updated>2010-10-18T15:45:08+00:00</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2010-10-18T15:43:50+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=f9ce6eb5b6fa8cbcf0a0fb7c5f4203f94730fc52'/>
<id>f9ce6eb5b6fa8cbcf0a0fb7c5f4203f94730fc52</id>
<content type='text'>
448cd16 ("Input: evdev - rearrange ioctl handling") broke EVIOCSABS by
checking for the wrong direction bit.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Reported-by: Sven Neumann &lt;s.neumann@raumfeld.com&gt;
Tested-by: Sven Neumann &lt;s.neumann@raumfeld.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
448cd16 ("Input: evdev - rearrange ioctl handling") broke EVIOCSABS by
checking for the wrong direction bit.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Reported-by: Sven Neumann &lt;s.neumann@raumfeld.com&gt;
Tested-by: Sven Neumann &lt;s.neumann@raumfeld.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: evdev - fix Ooops in EVIOCGABS/EVIOCSABS</title>
<updated>2010-10-18T15:45:02+00:00</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2010-10-18T15:43:30+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=0a74a1df3c13655b66b1908d76f2159654216326'/>
<id>0a74a1df3c13655b66b1908d76f2159654216326</id>
<content type='text'>
This fixes a regression introduced by the dynamic allocation of absinfo
for input devices. We need to bail out early for input devices which
don't have absolute axis.

[  929.664303] Pid: 2989, comm: input Not tainted 2.6.36-rc8+ #14 MS-7260/MS-7260
[  929.664318] EIP: 0060:[&lt;c12bdc01&gt;] EFLAGS: 00010246 CPU: 0
[  929.664331] EIP is at evdev_ioctl+0x4f8/0x59f
[  929.664341] EAX: 00000040 EBX: 00000000 ECX: 00000006 EDX: f45a1efc
[  929.664355] ESI: 00000000 EDI: f45a1efc EBP: f45a1f24 ESP: f45a1eb8
[  929.664369]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[  929.664402]  f470da74 f6a30e78 f462c240 00000018 bfe4a260 00000000 f45b06fc 00000000
[  929.664429] &lt;0&gt; 000000c4 b769d000 c3544620 f470da74 f45b06fc f45b06fc f45a1f38 c107dd1f
[  929.664458] &lt;0&gt; f4710b74 000000c4 00000000 00000000 00000000 0000029d 00000a74 f4710b74
[  929.664500]  [&lt;c107dd1f&gt;] ? handle_mm_fault+0x2be/0x59a
[  929.664513]  [&lt;c12bd709&gt;] ? evdev_ioctl+0x0/0x59f
[  929.664524]  [&lt;c1099d30&gt;] ? do_vfs_ioctl+0x494/0x4d9
[  929.664538]  [&lt;c10432a1&gt;] ? up_read+0x16/0x29
[  929.664550]  [&lt;c101c818&gt;] ? do_page_fault+0x2ff/0x32d
[  929.664564]  [&lt;c108d048&gt;] ? do_sys_open+0xc5/0xcf
[  929.664575]  [&lt;c1099db6&gt;] ? sys_ioctl+0x41/0x61
[  929.664587]  [&lt;c1002710&gt;] ? sysenter_do_call+0x12/0x36
[  929.684570] ---[ end trace 11b83e923bd8f2bb ]---

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a regression introduced by the dynamic allocation of absinfo
for input devices. We need to bail out early for input devices which
don't have absolute axis.

[  929.664303] Pid: 2989, comm: input Not tainted 2.6.36-rc8+ #14 MS-7260/MS-7260
[  929.664318] EIP: 0060:[&lt;c12bdc01&gt;] EFLAGS: 00010246 CPU: 0
[  929.664331] EIP is at evdev_ioctl+0x4f8/0x59f
[  929.664341] EAX: 00000040 EBX: 00000000 ECX: 00000006 EDX: f45a1efc
[  929.664355] ESI: 00000000 EDI: f45a1efc EBP: f45a1f24 ESP: f45a1eb8
[  929.664369]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[  929.664402]  f470da74 f6a30e78 f462c240 00000018 bfe4a260 00000000 f45b06fc 00000000
[  929.664429] &lt;0&gt; 000000c4 b769d000 c3544620 f470da74 f45b06fc f45b06fc f45a1f38 c107dd1f
[  929.664458] &lt;0&gt; f4710b74 000000c4 00000000 00000000 00000000 0000029d 00000a74 f4710b74
[  929.664500]  [&lt;c107dd1f&gt;] ? handle_mm_fault+0x2be/0x59a
[  929.664513]  [&lt;c12bd709&gt;] ? evdev_ioctl+0x0/0x59f
[  929.664524]  [&lt;c1099d30&gt;] ? do_vfs_ioctl+0x494/0x4d9
[  929.664538]  [&lt;c10432a1&gt;] ? up_read+0x16/0x29
[  929.664550]  [&lt;c101c818&gt;] ? do_page_fault+0x2ff/0x32d
[  929.664564]  [&lt;c108d048&gt;] ? do_sys_open+0xc5/0xcf
[  929.664575]  [&lt;c1099db6&gt;] ? sys_ioctl+0x41/0x61
[  929.664587]  [&lt;c1002710&gt;] ? sysenter_do_call+0x12/0x36
[  929.684570] ---[ end trace 11b83e923bd8f2bb ]---

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: wacom - fix pressure in Cintiq 21UX2</title>
<updated>2010-10-10T21:16:09+00:00</updated>
<author>
<name>Aristeu Rozanski</name>
<email>aris@redhat.com</email>
</author>
<published>2010-10-10T21:12:33+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=ca047fedd89bbb4b79b61e0656a7b799e4e45e6d'/>
<id>ca047fedd89bbb4b79b61e0656a7b799e4e45e6d</id>
<content type='text'>
Currently the pressure range in Cintiq 21UX2 is limited to half of the
supported. This patch fixes the problem.

Signed-off-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Acked-by: Ping Cheng &lt;pingc@wacom.com&gt;
CC: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the pressure range in Cintiq 21UX2 is limited to half of the
supported. This patch fixes the problem.

Signed-off-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Acked-by: Ping Cheng &lt;pingc@wacom.com&gt;
CC: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: wacom - fix runtime PM related deadlock</title>
<updated>2010-10-05T05:36:41+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2010-10-05T04:46:11+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=f6cd378372bff06093d72f978c0150eeed3ea201'/>
<id>f6cd378372bff06093d72f978c0150eeed3ea201</id>
<content type='text'>
When runtime PM is enabled by default for input devices, X hangs in
wacom open:
[&lt;ffffffff814a00ea&gt;] mutex_lock+0x1a/0x40
[&lt;ffffffffa02bc94b&gt;] wacom_resume+0x3b/0x90 [wacom]
[&lt;ffffffff81327a32&gt;] usb_resume_interface+0xd2/0x190
[&lt;ffffffff81327b5d&gt;] usb_resume_both+0x6d/0x110
[&lt;ffffffff81327c24&gt;] usb_runtime_resume+0x24/0x40
[&lt;ffffffff8130a2cf&gt;] __pm_runtime_resume+0x26f/0x450
[&lt;ffffffff8130a23a&gt;] __pm_runtime_resume+0x1da/0x450
[&lt;ffffffff8130a53a&gt;] pm_runtime_resume+0x2a/0x50
[&lt;ffffffff81328176&gt;] usb_autopm_get_interface+0x26/0x60
[&lt;ffffffffa02bc626&gt;] wacom_open+0x36/0x90 [wacom]

wacom_open() takes wacom-&gt;lock and calls usb_autopm_get_interface(),
which in turn calls wacom_resume() which tries to acquire the lock
again.

The fix is to call usb_autopm_get_interface() first, before we take
the lock.

Since we do not do usb_autopm_put_interface() until wacom_close()
is called runtime PM is effectively disabled for the driver, however
changing it now would risk regressions so the complete fix will
have to wait till the next merge window.

Reported-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When runtime PM is enabled by default for input devices, X hangs in
wacom open:
[&lt;ffffffff814a00ea&gt;] mutex_lock+0x1a/0x40
[&lt;ffffffffa02bc94b&gt;] wacom_resume+0x3b/0x90 [wacom]
[&lt;ffffffff81327a32&gt;] usb_resume_interface+0xd2/0x190
[&lt;ffffffff81327b5d&gt;] usb_resume_both+0x6d/0x110
[&lt;ffffffff81327c24&gt;] usb_runtime_resume+0x24/0x40
[&lt;ffffffff8130a2cf&gt;] __pm_runtime_resume+0x26f/0x450
[&lt;ffffffff8130a23a&gt;] __pm_runtime_resume+0x1da/0x450
[&lt;ffffffff8130a53a&gt;] pm_runtime_resume+0x2a/0x50
[&lt;ffffffff81328176&gt;] usb_autopm_get_interface+0x26/0x60
[&lt;ffffffffa02bc626&gt;] wacom_open+0x36/0x90 [wacom]

wacom_open() takes wacom-&gt;lock and calls usb_autopm_get_interface(),
which in turn calls wacom_resume() which tries to acquire the lock
again.

The fix is to call usb_autopm_get_interface() first, before we take
the lock.

Since we do not do usb_autopm_put_interface() until wacom_close()
is called runtime PM is effectively disabled for the driver, however
changing it now would risk regressions so the complete fix will
have to wait till the next merge window.

Reported-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: joydev - fix JSIOCSAXMAP ioctl</title>
<updated>2010-09-21T07:59:43+00:00</updated>
<author>
<name>Kenneth Waters</name>
<email>kwwaters@gmail.com</email>
</author>
<published>2010-09-21T07:58:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=d2520a426dc3033c00077e923a553fc6c98c7564'/>
<id>d2520a426dc3033c00077e923a553fc6c98c7564</id>
<content type='text'>
Fixed JSIOCSAXMAP ioctl to update absmap, the map from hardware axis to
event axis in addition to abspam.  This fixes a regression introduced
by 999b874f.

Signed-off-by: Kenneth Waters &lt;kwwaters@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed JSIOCSAXMAP ioctl to update absmap, the map from hardware axis to
event axis in addition to abspam.  This fixes a regression introduced
by 999b874f.

Signed-off-by: Kenneth Waters &lt;kwwaters@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: uinput - setup MT usage during device creation</title>
<updated>2010-09-19T23:29:57+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2010-09-19T23:25:36+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=38e7afe96c7c0ad900824911c61fdb04078033dc'/>
<id>38e7afe96c7c0ad900824911c61fdb04078033dc</id>
<content type='text'>
The input devices created by uinput do not currently handle multitouch
properly. All events will appear as if they came from slot zero, and
the input event buffers are not adjusted. This patch creates the MT
slots during setup, and sets the number of events per packet based
on the MT usage.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The input devices created by uinput do not currently handle multitouch
properly. All events will appear as if they came from slot zero, and
the input event buffers are not adjusted. This patch creates the MT
slots during setup, and sets the number of events per packet based
on the MT usage.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: i8042 - fix device removal on unload</title>
<updated>2010-09-01T01:28:15+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2010-09-01T00:27:02+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=af045b86662f17bf130239a65995c61a34f00a6b'/>
<id>af045b86662f17bf130239a65995c61a34f00a6b</id>
<content type='text'>
We need to call platform_device_unregister(i8042_platform_device)
before calling platform_driver_unregister() because i8042_remove()
resets i8042_platform_device to NULL. This leaves the platform device
instance behind and prevents driver reload.

Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613

Reported-by: Seryodkin Victor &lt;vvscore@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to call platform_device_unregister(i8042_platform_device)
before calling platform_driver_unregister() because i8042_remove()
resets i8042_platform_device to NULL. This leaves the platform device
instance behind and prevents driver reload.

Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613

Reported-by: Seryodkin Victor &lt;vvscore@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: bcm5974 - adjust major/minor to scale</title>
<updated>2010-09-01T01:00:02+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2010-09-01T00:27:02+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=57157becdd1d23e6c2b8661ffe6c78d7d605d121'/>
<id>57157becdd1d23e6c2b8661ffe6c78d7d605d121</id>
<content type='text'>
By visual inspection, the reported touch_major and touch_minor axes
are a factor of two too small. Presumably the device actually reports
the semi-major and semi-minor axes. Corrected with this patch.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By visual inspection, the reported touch_major and touch_minor axes
are a factor of two too small. Presumably the device actually reports
the semi-major and semi-minor axes. Corrected with this patch.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: MT - initialize slots to unused</title>
<updated>2010-08-29T04:39:43+00:00</updated>
<author>
<name>Henrik Rydberg</name>
<email>rydberg@euromail.se</email>
</author>
<published>2010-08-29T04:33:50+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=ba4d695a90c9176fca8e45d6c872bbf4e8bed315'/>
<id>ba4d695a90c9176fca8e45d6c872bbf4e8bed315</id>
<content type='text'>
For MT slots, the ABS_MT_TRACKING_ID determines whether a slot is in use,
but currently leaves initialization up to the drivers. This patch sets the
slot state to unused upon creation.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For MT slots, the ABS_MT_TRACKING_ID determines whether a slot is in use,
but currently leaves initialization up to the drivers. This patch sets the
slot state to unused upon creation.

Signed-off-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: wacom - fix mousewheel handling for old wacom tablets</title>
<updated>2010-08-29T04:39:04+00:00</updated>
<author>
<name>Mike Auty</name>
<email>ikelos@gentoo.org</email>
</author>
<published>2010-08-29T03:35:17+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=d9f66c1a46163c7c83411058516a69da547262f8'/>
<id>d9f66c1a46163c7c83411058516a69da547262f8</id>
<content type='text'>
This fixes a regression introduced in
3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2.

The data[6] byte contains either 1 or -1 depending on the whether the
mouse wheel on older wacom tablets is moved down (1) or up (-1).  The
patch introduced in the above commit changed the cast from (signed char)
to (signed).  When cast as a signed integer and negated, the value of -1
(stored in the byte as 0xff) became -255 rather than 1.  This patch
reverts the cast to a (signed char) and also removes an unnecessary
(signed) cast, as all the values operated on are bitmasked.

Signed-off-by: Mike Auty &lt;ikelos@gentoo.org&gt;
Reviewed-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc; stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a regression introduced in
3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2.

The data[6] byte contains either 1 or -1 depending on the whether the
mouse wheel on older wacom tablets is moved down (1) or up (-1).  The
patch introduced in the above commit changed the cast from (signed char)
to (signed).  When cast as a signed integer and negated, the value of -1
(stored in the byte as 0xff) became -255 rather than 1.  This patch
reverts the cast to a (signed char) and also removes an unnecessary
(signed) cast, as all the values operated on are bitmasked.

Signed-off-by: Mike Auty &lt;ikelos@gentoo.org&gt;
Reviewed-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc; stable@kernel.org
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
</feed>
