<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/input, branch v3.16.57</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>Input: matrix_keypad - fix race when disabling interrupts</title>
<updated>2018-06-16T21:22:12+00:00</updated>
<author>
<name>Zhang Bo</name>
<email>zbsdta@126.com</email>
</author>
<published>2018-02-05T22:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=db033f33e7445abaf31e978d63afd11039cd7802'/>
<id>db033f33e7445abaf31e978d63afd11039cd7802</id>
<content type='text'>
commit ea4f7bd2aca9f68470e9aac0fc9432fd180b1fe7 upstream.

If matrix_keypad_stop() is executing and the keypad interrupt is triggered,
disable_row_irqs() may be called by both matrix_keypad_interrupt() and
matrix_keypad_stop() at the same time, causing interrupts to be disabled
twice and the keypad being "stuck" after resuming.

Take lock when setting keypad-&gt;stopped to ensure that ISR will not race
with matrix_keypad_stop() disabling interrupts.

Signed-off-by: Zhang Bo &lt;zbsdta@126.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ea4f7bd2aca9f68470e9aac0fc9432fd180b1fe7 upstream.

If matrix_keypad_stop() is executing and the keypad interrupt is triggered,
disable_row_irqs() may be called by both matrix_keypad_interrupt() and
matrix_keypad_stop() at the same time, causing interrupts to be disabled
twice and the keypad being "stuck" after resuming.

Take lock when setting keypad-&gt;stopped to ensure that ISR will not race
with matrix_keypad_stop() disabling interrupts.

Signed-off-by: Zhang Bo &lt;zbsdta@126.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: mms114 - fix license module information</title>
<updated>2018-06-16T21:22:05+00:00</updated>
<author>
<name>Andi Shyti</name>
<email>andi.shyti@samsung.com</email>
</author>
<published>2018-02-01T18:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95b12df8b45babb0634e94189ba207d7dd192e87'/>
<id>95b12df8b45babb0634e94189ba207d7dd192e87</id>
<content type='text'>
commit 498e7e7ed1fd72c275a682f0903c4a20cc538658 upstream.

The driver has been released with GNU Public License v2 as stated
in the header, but the module license information has been tagged
as "GPL" (GNU Public License v2 or later).

Fix the module license information so that it matches the one in
the header as "GPL v2".

Fixes: 07b8481d4aff ("Input: add MELFAS mms114 touchscreen driver")
Reported-by: Marcus Folkesson &lt;marcus.folkesson@gmail.com&gt;
Signed-off-by: Andi Shyti &lt;andi.shyti@samsung.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 498e7e7ed1fd72c275a682f0903c4a20cc538658 upstream.

The driver has been released with GNU Public License v2 as stated
in the header, but the module license information has been tagged
as "GPL" (GNU Public License v2 or later).

Fix the module license information so that it matches the one in
the header as "GPL v2".

Fixes: 07b8481d4aff ("Input: add MELFAS mms114 touchscreen driver")
Reported-by: Marcus Folkesson &lt;marcus.folkesson@gmail.com&gt;
Signed-off-by: Andi Shyti &lt;andi.shyti@samsung.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: edt-ft5x06 - fix error handling for factory mode on non-M06</title>
<updated>2018-06-16T21:21:59+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2018-01-23T18:01:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4731ab91f3ca537767d9920fa86ee7ea469fd2c0'/>
<id>4731ab91f3ca537767d9920fa86ee7ea469fd2c0</id>
<content type='text'>
commit 4b3e910d7f430ab76dd37131bb75129878950163 upstream.

When attempting enter factory mode on firmware that does not support it,
we'd error out, but leave the device with interrupts disabled, and thus
touch not working. Fix it by moving the check before we disable
interrupts/allocate memory for debug buffers.

Fixes: fd335ab04b3f ("Input: edt-ft5x06 - add support for M09 firmware version")
Reviewed-by: Andi Shyti &lt;andi@etezian.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
[bwh: Backported to 3.16:
 - s/EDT_M06/M06/
 - Adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4b3e910d7f430ab76dd37131bb75129878950163 upstream.

When attempting enter factory mode on firmware that does not support it,
we'd error out, but leave the device with interrupts disabled, and thus
touch not working. Fix it by moving the check before we disable
interrupts/allocate memory for debug buffers.

Fixes: fd335ab04b3f ("Input: edt-ft5x06 - add support for M09 firmware version")
Reviewed-by: Andi Shyti &lt;andi@etezian.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
[bwh: Backported to 3.16:
 - s/EDT_M06/M06/
 - Adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: trackpoint - force 3 buttons if 0 button is reported</title>
<updated>2018-03-03T15:52:27+00:00</updated>
<author>
<name>Aaron Ma</name>
<email>aaron.ma@canonical.com</email>
</author>
<published>2018-01-19T17:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4a6e9e328c8d18821eba663c3c7fc8ddf647efed'/>
<id>4a6e9e328c8d18821eba663c3c7fc8ddf647efed</id>
<content type='text'>
commit f5d07b9e98022d50720e38aa936fc11c67868ece upstream.

Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
They supposed to reply with 0x02, 0x03, or 0x04 in response to the
"Read Extended ID" command, so we would know not to try certain extended
commands. Unfortunately even some trackpoints reporting the original IBM
version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
Extended Buttons" command:

 thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
 thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE

 psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0

Since there are no trackpoints without buttons, let's assume the trackpoint
has 3 buttons when we get 0 response to the extended buttons query.

Signed-off-by: Aaron Ma &lt;aaron.ma@canonical.com&gt;
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196253
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f5d07b9e98022d50720e38aa936fc11c67868ece upstream.

Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
They supposed to reply with 0x02, 0x03, or 0x04 in response to the
"Read Extended ID" command, so we would know not to try certain extended
commands. Unfortunately even some trackpoints reporting the original IBM
version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
Extended Buttons" command:

 thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
 thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE

 psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0

Since there are no trackpoints without buttons, let's assume the trackpoint
has 3 buttons when we get 0 response to the extended buttons query.

Signed-off-by: Aaron Ma &lt;aaron.ma@canonical.com&gt;
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196253
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: trackpoint - assume 3 buttons when buttons detection fails</title>
<updated>2018-03-03T15:52:27+00:00</updated>
<author>
<name>Oscar Campos</name>
<email>oscar.campos@member.fsf.org</email>
</author>
<published>2017-07-19T00:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=dd7ae1d08bc79aa104da89e4124de1231bbf16b1'/>
<id>dd7ae1d08bc79aa104da89e4124de1231bbf16b1</id>
<content type='text'>
commit 293b915fd9bebf33cdc906516fb28d54649a25ac upstream.

Trackpoint buttons detection fails on ThinkPad 570 and 470 series,
this makes the middle button of the trackpoint to not being recogized.
As I don't believe there is any trackpoint with less than 3 buttons this
patch just assumes three buttons when the extended button information
read fails.

Signed-off-by: Oscar Campos &lt;oscar.campos@member.fsf.org&gt;
Acked-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 293b915fd9bebf33cdc906516fb28d54649a25ac upstream.

Trackpoint buttons detection fails on ThinkPad 570 and 470 series,
this makes the middle button of the trackpoint to not being recogized.
As I don't believe there is any trackpoint with less than 3 buttons this
patch just assumes three buttons when the extended button information
read fails.

Signed-off-by: Oscar Campos &lt;oscar.campos@member.fsf.org&gt;
Acked-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: 88pm860x-ts - fix child-node lookup</title>
<updated>2018-03-03T15:52:18+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan@kernel.org</email>
</author>
<published>2018-01-09T01:20:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=829fb0cab7376e67b24f6aa6210242d448396cef'/>
<id>829fb0cab7376e67b24f6aa6210242d448396cef</id>
<content type='text'>
commit 906bf7daa0618d0ef39f4872ca42218c29a3631f upstream.

Fix child node-lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

To make things worse, the parent node was prematurely freed, while the
child node was leaked.

Fixes: 2e57d56747e6 ("mfd: 88pm860x: Device tree support")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 906bf7daa0618d0ef39f4872ca42218c29a3631f upstream.

Fix child node-lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

To make things worse, the parent node was prematurely freed, while the
child node was leaked.

Fixes: 2e57d56747e6 ("mfd: 88pm860x: Device tree support")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: twl6040-vibra - fix child-node lookup</title>
<updated>2018-03-03T15:52:17+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan@kernel.org</email>
</author>
<published>2018-01-09T01:17:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e86dc5b588f095715225a96e38a4a757a194df90'/>
<id>e86dc5b588f095715225a96e38a4a757a194df90</id>
<content type='text'>
commit dcaf12a8b0bbdbfcfa2be8dff2c4948d9844b4ad upstream.

Fix child-node lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

Later sanity checks on node properties (which would likely be missing)
should prevent this from causing much trouble however, especially as the
original premature free of the parent node has already been fixed
separately (but that "fix" was apparently never backported to stable).

Fixes: e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")
Fixes: c52c545ead97 ("Input: twl6040-vibra - fix DT node memory management")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Acked-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Tested-by: H. Nikolaus Schaller &lt;hns@goldelico.com&gt; (on Pyra OMAP5 hardware)
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit dcaf12a8b0bbdbfcfa2be8dff2c4948d9844b4ad upstream.

Fix child-node lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

Later sanity checks on node properties (which would likely be missing)
should prevent this from causing much trouble however, especially as the
original premature free of the parent node has already been fixed
separately (but that "fix" was apparently never backported to stable).

Fixes: e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")
Fixes: c52c545ead97 ("Input: twl6040-vibra - fix DT node memory management")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Acked-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Tested-by: H. Nikolaus Schaller &lt;hns@goldelico.com&gt; (on Pyra OMAP5 hardware)
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: twl6040-vibra - fix DT node memory management</title>
<updated>2018-03-03T15:52:17+00:00</updated>
<author>
<name>H. Nikolaus Schaller</name>
<email>hns@goldelico.com</email>
</author>
<published>2016-05-10T00:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9587050dc78baffce536a44505fce6934560db4d'/>
<id>9587050dc78baffce536a44505fce6934560db4d</id>
<content type='text'>
commit c52c545ead97fcc2f4f8ea38f1ae3c23211e09a8 upstream.

commit e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")

made the separate vibra DT node to a subnode of the twl6040.

It now calls of_find_node_by_name() to locate the "vibra" subnode.
This function has a side effect to call of_node_put on() for the twl6040
parent node passed in as a parameter. This causes trouble later on.

Solution: we must call of_node_get() before of_find_node_by_name()

Signed-off-by: H. Nikolaus Schaller &lt;hns@goldelico.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c52c545ead97fcc2f4f8ea38f1ae3c23211e09a8 upstream.

commit e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")

made the separate vibra DT node to a subnode of the twl6040.

It now calls of_find_node_by_name() to locate the "vibra" subnode.
This function has a side effect to call of_node_put on() for the twl6040
parent node passed in as a parameter. This causes trouble later on.

Solution: we must call of_node_get() before of_find_node_by_name()

Signed-off-by: H. Nikolaus Schaller &lt;hns@goldelico.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: twl4030-vibra - fix sibling-node lookup</title>
<updated>2018-03-03T15:52:17+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan@kernel.org</email>
</author>
<published>2018-01-09T01:15:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b1e8a5397077ef9c9ace3ce0577c019ada19f19c'/>
<id>b1e8a5397077ef9c9ace3ce0577c019ada19f19c</id>
<content type='text'>
commit 5b189201993ab03001a398de731045bfea90c689 upstream.

A helper purported to look up a child node based on its name was using
the wrong of-helper and ended up prematurely freeing the parent of-node
while searching the whole device tree depth-first starting at the parent
node.

Fixes: 64b9e4d803b1 ("input: twl4030-vibra: Support for DT booted kernel")
Fixes: e661d0a04462 ("Input: twl4030-vibra - fix ERROR: Bad of_node_put() warning")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5b189201993ab03001a398de731045bfea90c689 upstream.

A helper purported to look up a child node based on its name was using
the wrong of-helper and ended up prematurely freeing the parent of-node
while searching the whole device tree depth-first starting at the parent
node.

Fixes: 64b9e4d803b1 ("input: twl4030-vibra: Support for DT booted kernel")
Fixes: e661d0a04462 ("Input: twl4030-vibra - fix ERROR: Bad of_node_put() warning")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: twl4030-vibra - fix ERROR: Bad of_node_put() warning</title>
<updated>2018-03-03T15:52:16+00:00</updated>
<author>
<name>Marek Belisko</name>
<email>marek@goldelico.com</email>
</author>
<published>2015-07-29T21:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1a66f52e77c68dfa15845587d3b0348692f1791b'/>
<id>1a66f52e77c68dfa15845587d3b0348692f1791b</id>
<content type='text'>
commit e661d0a04462dd98667f8947141bd8defab5b34a upstream.

Fix following:
[    8.862274] ERROR: Bad of_node_put() on /ocp/i2c@48070000/twl@48/audio
[    8.869293] CPU: 0 PID: 1003 Comm: modprobe Not tainted 4.2.0-rc2-letux+ #1175
[    8.876922] Hardware name: Generic OMAP36xx (Flattened Device Tree)
[    8.883514] [&lt;c00159e0&gt;] (unwind_backtrace) from [&lt;c0012488&gt;] (show_stack+0x10/0x14)
[    8.891693] [&lt;c0012488&gt;] (show_stack) from [&lt;c05cb810&gt;] (dump_stack+0x78/0x94)
[    8.899322] [&lt;c05cb810&gt;] (dump_stack) from [&lt;c02cfd5c&gt;] (kobject_release+0x68/0x7c)
[    8.907409] [&lt;c02cfd5c&gt;] (kobject_release) from [&lt;bf0040c4&gt;] (twl4030_vibra_probe+0x74/0x188 [twl4030_vibra])
[    8.917877] [&lt;bf0040c4&gt;] (twl4030_vibra_probe [twl4030_vibra]) from [&lt;c03816ac&gt;] (platform_drv_probe+0x48/0x90)
[    8.928497] [&lt;c03816ac&gt;] (platform_drv_probe) from [&lt;c037feb4&gt;] (really_probe+0xd4/0x238)
[    8.937103] [&lt;c037feb4&gt;] (really_probe) from [&lt;c0380160&gt;] (driver_probe_device+0x30/0x48)
[    8.945678] [&lt;c0380160&gt;] (driver_probe_device) from [&lt;c03801e0&gt;] (__driver_attach+0x68/0x8c)
[    8.954589] [&lt;c03801e0&gt;] (__driver_attach) from [&lt;c037ea60&gt;] (bus_for_each_dev+0x50/0x84)
[    8.963226] [&lt;c037ea60&gt;] (bus_for_each_dev) from [&lt;c037f828&gt;] (bus_add_driver+0xcc/0x1e4)
[    8.971832] [&lt;c037f828&gt;] (bus_add_driver) from [&lt;c0380b60&gt;] (driver_register+0x9c/0xe0)
[    8.980255] [&lt;c0380b60&gt;] (driver_register) from [&lt;c00097e0&gt;] (do_one_initcall+0x100/0x1b8)
[    8.988983] [&lt;c00097e0&gt;] (do_one_initcall) from [&lt;c00b8008&gt;] (do_init_module+0x58/0x1c0)
[    8.997497] [&lt;c00b8008&gt;] (do_init_module) from [&lt;c00b8cac&gt;] (SyS_init_module+0x54/0x64)
[    9.005950] [&lt;c00b8cac&gt;] (SyS_init_module) from [&lt;c000ed20&gt;] (ret_fast_syscall+0x0/0x54)
[    9.015838] input: twl4030:vibrator as /devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl@48:audio/input/input2

node passed to of_find_node_by_name is put inside that function and new node
is returned if found. Free returned node not already freed node.

Signed-off-by: Marek Belisko &lt;marek@goldelico.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e661d0a04462dd98667f8947141bd8defab5b34a upstream.

Fix following:
[    8.862274] ERROR: Bad of_node_put() on /ocp/i2c@48070000/twl@48/audio
[    8.869293] CPU: 0 PID: 1003 Comm: modprobe Not tainted 4.2.0-rc2-letux+ #1175
[    8.876922] Hardware name: Generic OMAP36xx (Flattened Device Tree)
[    8.883514] [&lt;c00159e0&gt;] (unwind_backtrace) from [&lt;c0012488&gt;] (show_stack+0x10/0x14)
[    8.891693] [&lt;c0012488&gt;] (show_stack) from [&lt;c05cb810&gt;] (dump_stack+0x78/0x94)
[    8.899322] [&lt;c05cb810&gt;] (dump_stack) from [&lt;c02cfd5c&gt;] (kobject_release+0x68/0x7c)
[    8.907409] [&lt;c02cfd5c&gt;] (kobject_release) from [&lt;bf0040c4&gt;] (twl4030_vibra_probe+0x74/0x188 [twl4030_vibra])
[    8.917877] [&lt;bf0040c4&gt;] (twl4030_vibra_probe [twl4030_vibra]) from [&lt;c03816ac&gt;] (platform_drv_probe+0x48/0x90)
[    8.928497] [&lt;c03816ac&gt;] (platform_drv_probe) from [&lt;c037feb4&gt;] (really_probe+0xd4/0x238)
[    8.937103] [&lt;c037feb4&gt;] (really_probe) from [&lt;c0380160&gt;] (driver_probe_device+0x30/0x48)
[    8.945678] [&lt;c0380160&gt;] (driver_probe_device) from [&lt;c03801e0&gt;] (__driver_attach+0x68/0x8c)
[    8.954589] [&lt;c03801e0&gt;] (__driver_attach) from [&lt;c037ea60&gt;] (bus_for_each_dev+0x50/0x84)
[    8.963226] [&lt;c037ea60&gt;] (bus_for_each_dev) from [&lt;c037f828&gt;] (bus_add_driver+0xcc/0x1e4)
[    8.971832] [&lt;c037f828&gt;] (bus_add_driver) from [&lt;c0380b60&gt;] (driver_register+0x9c/0xe0)
[    8.980255] [&lt;c0380b60&gt;] (driver_register) from [&lt;c00097e0&gt;] (do_one_initcall+0x100/0x1b8)
[    8.988983] [&lt;c00097e0&gt;] (do_one_initcall) from [&lt;c00b8008&gt;] (do_init_module+0x58/0x1c0)
[    8.997497] [&lt;c00b8008&gt;] (do_init_module) from [&lt;c00b8cac&gt;] (SyS_init_module+0x54/0x64)
[    9.005950] [&lt;c00b8cac&gt;] (SyS_init_module) from [&lt;c000ed20&gt;] (ret_fast_syscall+0x0/0x54)
[    9.015838] input: twl4030:vibrator as /devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl@48:audio/input/input2

node passed to of_find_node_by_name is put inside that function and new node
is returned if found. Free returned node not already freed node.

Signed-off-by: Marek Belisko &lt;marek@goldelico.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
