<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/input/serio, branch v4.12.9</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.12.9</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.12.9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-07-27T22:10:19+00:00</updated>
<entry>
<title>Input: i8042 - fix crash at boot time</title>
<updated>2017-07-27T22:10:19+00:00</updated>
<author>
<name>Chen Hong</name>
<email>chenhong3@huawei.com</email>
</author>
<published>2017-07-02T22:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c0d8c2a408402f2d83a41b141efc2e5e8e604c4'/>
<id>urn:sha1:6c0d8c2a408402f2d83a41b141efc2e5e8e604c4</id>
<content type='text'>
commit 340d394a789518018f834ff70f7534fc463d3226 upstream.

The driver checks port-&gt;exists twice in i8042_interrupt(), first when
trying to assign temporary "serio" variable, and second time when deciding
whether it should call serio_interrupt(). The value of port-&gt;exists may
change between the 2 checks, and we may end up calling serio_interrupt()
with a NULL pointer:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
IP: [&lt;ffffffff8150feaf&gt;] _spin_lock_irqsave+0x1f/0x40
PGD 0
Oops: 0002 [#1] SMP
last sysfs file:
CPU 0
Modules linked in:

Pid: 1, comm: swapper Not tainted 2.6.32-358.el6.x86_64 #1 QEMU Standard PC (i440FX + PIIX, 1996)
RIP: 0010:[&lt;ffffffff8150feaf&gt;]  [&lt;ffffffff8150feaf&gt;] _spin_lock_irqsave+0x1f/0x40
RSP: 0018:ffff880028203cc0  EFLAGS: 00010082
RAX: 0000000000010000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000282 RSI: 0000000000000098 RDI: 0000000000000050
RBP: ffff880028203cc0 R08: ffff88013e79c000 R09: ffff880028203ee0
R10: 0000000000000298 R11: 0000000000000282 R12: 0000000000000050
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000098
FS:  0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000050 CR3: 0000000001a85000 CR4: 00000000001407f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff88013e79c000, task ffff88013e79b500)
Stack:
ffff880028203d00 ffffffff813de186 ffffffffffffff02 0000000000000000
&lt;d&gt; 0000000000000000 0000000000000000 0000000000000000 0000000000000098
&lt;d&gt; ffff880028203d70 ffffffff813e0162 ffff880028203d20 ffffffff8103b8ac
Call Trace:
&lt;IRQ&gt;
 [&lt;ffffffff813de186&gt;] serio_interrupt+0x36/0xa0
[&lt;ffffffff813e0162&gt;] i8042_interrupt+0x132/0x3a0
[&lt;ffffffff8103b8ac&gt;] ? kvm_clock_read+0x1c/0x20
[&lt;ffffffff8103b8b9&gt;] ? kvm_clock_get_cycles+0x9/0x10
[&lt;ffffffff810e1640&gt;] handle_IRQ_event+0x60/0x170
[&lt;ffffffff8103b154&gt;] ? kvm_guest_apic_eoi_write+0x44/0x50
[&lt;ffffffff810e3d8e&gt;] handle_edge_irq+0xde/0x180
[&lt;ffffffff8100de89&gt;] handle_irq+0x49/0xa0
[&lt;ffffffff81516c8c&gt;] do_IRQ+0x6c/0xf0
[&lt;ffffffff8100b9d3&gt;] ret_from_intr+0x0/0x11
[&lt;ffffffff81076f63&gt;] ? __do_softirq+0x73/0x1e0
[&lt;ffffffff8109b75b&gt;] ? hrtimer_interrupt+0x14b/0x260
[&lt;ffffffff8100c1cc&gt;] ? call_softirq+0x1c/0x30
[&lt;ffffffff8100de05&gt;] ? do_softirq+0x65/0xa0
[&lt;ffffffff81076d95&gt;] ? irq_exit+0x85/0x90
[&lt;ffffffff81516d80&gt;] ? smp_apic_timer_interrupt+0x70/0x9b
[&lt;ffffffff8100bb93&gt;] ? apic_timer_interrupt+0x13/0x20

To avoid the issue let's change the second check to test whether serio is
NULL or not.

Also, let's take i8042_lock in i8042_start() and i8042_stop() instead of
trying to be overly smart and using memory barriers.

Signed-off-by: Chen Hong &lt;chenhong3@huawei.com&gt;
[dtor: take lock in i8042_start()/i8042_stop()]
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list</title>
<updated>2017-06-20T03:10:15+00:00</updated>
<author>
<name>Daniel Drake</name>
<email>drake@endlessm.com</email>
</author>
<published>2017-06-20T02:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=817ae460c784f32cd45e60b2b1b21378c3c6a847'/>
<id>urn:sha1:817ae460c784f32cd45e60b2b1b21378c3c6a847</id>
<content type='text'>
Without this quirk, the touchpad is not responsive on this product, with
the following message repeated in the logs:

 psmouse serio1: bad data from KBC - timeout

Add it to the notimeout list alongside other similar Fujitsu laptops.

Signed-off-by: Daniel Drake &lt;drake@endlessm.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Merge branch 'next' into for-linus</title>
<updated>2017-05-02T16:48:26+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-05-02T16:48:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0337966d121ebebf73a1c346123e8112796e684e'/>
<id>urn:sha1:0337966d121ebebf73a1c346123e8112796e684e</id>
<content type='text'>
Prepare input updates for 4.12 merge window.
</content>
</entry>
<entry>
<title>Input: i8042 - add Clevo P650RS to the i8042 reset list</title>
<updated>2017-04-24T23:15:58+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-04-13T22:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7c5bb4ac2b76d2a09256aec8a7d584bf3e2b0466'/>
<id>urn:sha1:7c5bb4ac2b76d2a09256aec8a7d584bf3e2b0466</id>
<content type='text'>
Clevo P650RS and other similar devices require i8042 to be reset in order
to detect Synaptics touchpad.

Reported-by: Paweł Bylica &lt;chfast@gmail.com&gt;
Tested-by: Ed Bordin &lt;edbordin@gmail.com&gt;
Cc: stable@vger.kernel.org
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=190301
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Merge tag 'v4.11-rc5' into next</title>
<updated>2017-04-03T19:01:20+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-04-03T19:01:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=03b22057e8ed2d1df416c9ae8e6e247e0b87ecc8'/>
<id>urn:sha1:03b22057e8ed2d1df416c9ae8e6e247e0b87ecc8</id>
<content type='text'>
Sync up with mainline to bring in changes to input subsystem merged
through other trees.
</content>
</entry>
<entry>
<title>Input: serio - add fast reconnect option</title>
<updated>2017-03-25T17:37:26+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-03-03T19:47:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5ea1320653359dd2ade7ff2ad81e37b790eb1f1f'/>
<id>urn:sha1:5ea1320653359dd2ade7ff2ad81e37b790eb1f1f</id>
<content type='text'>
Devices connected to serio bus are quite slow, and to improve apparent
speed of resume process, serio core resumes (reconnects) its devices
asynchronously, by posting port reconnect requests to a workqueue.
Unfortunately this means that if there is a dependent device of a given
serio port (for example SMBus part of touchpad connected via both PS/2 and
SMBus), we do not have a good way of ensuring resume order.

This change allows drivers to define "fast reconnect" handlers that would
be called in-line during system resume. Drivers need to ensure that these
handlers are truly "fast".

Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: convert remaining uses of pr_warning to pr_warn</title>
<updated>2017-03-18T00:25:02+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2017-03-18T00:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fef5f569db06ea80ae3a864b1ba4bda6e359311d'/>
<id>urn:sha1:fef5f569db06ea80ae3a864b1ba4bda6e359311d</id>
<content type='text'>
To enable eventual removal of pr_warning

This makes pr_warn use consistent for drivers/input

Prior to this patch, there were 8 uses of pr_warning and
17 uses of pr_warn in drivers/input

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list</title>
<updated>2017-03-10T22:15:22+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-03-01T01:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a4c2a13129f7c5bcf81704c06851601593303fd5'/>
<id>urn:sha1:a4c2a13129f7c5bcf81704c06851601593303fd5</id>
<content type='text'>
TUXEDO BU1406 does not implement active multiplexing mode properly,
and takes around 550 ms in i8042_set_mux_mode(). Given that the
device does not have external AUX port, there is no downside in
disabling the MUX mode.

Reported-by: Paul Menzel &lt;pmenzel@molgen.mpg.de&gt;
Suggested-by: Vojtech Pavlik &lt;vojtech@suse.cz&gt;
Reviewed-by: Marcos Paulo de Souza &lt;marcos.souza.org@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: i8042 - add noloop quirk for Dell Embedded Box PC 3000</title>
<updated>2017-03-07T17:47:35+00:00</updated>
<author>
<name>Kai-Heng Feng</name>
<email>kai.heng.feng@canonical.com</email>
</author>
<published>2017-03-07T17:31:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=45838660e34d90db8d4f7cbc8fd66e8aff79f4fe'/>
<id>urn:sha1:45838660e34d90db8d4f7cbc8fd66e8aff79f4fe</id>
<content type='text'>
The aux port does not get detected without noloop quirk, so external PS/2
mouse cannot work as result.

The PS/2 mouse can work with this quirk.

BugLink: https://bugs.launchpad.net/bugs/1591053
Signed-off-by: Kai-Heng Feng &lt;kai.heng.feng@canonical.com&gt;
Reviewed-by: Marcos Paulo de Souza &lt;marcos.souza.org@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Merge tag 'v4.10-rc5' into next</title>
<updated>2017-01-24T20:37:43+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2017-01-24T20:37:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0cce284537fb42d9c28b9b31038ffc9b464555f5'/>
<id>urn:sha1:0cce284537fb42d9c28b9b31038ffc9b464555f5</id>
<content type='text'>
Sync up with mainline to bring up improvements in various subsystems.
</content>
</entry>
</feed>
