<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/input/serio/hp_sdc_mlc.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2020-11-05T10:51:54Z</updated>
<entry>
<title>hil/parisc: Disable HIL driver when it gets stuck</title>
<updated>2020-11-05T10:51:54Z</updated>
<author>
<name>Helge Deller</name>
<email>deller@gmx.de</email>
</author>
<published>2020-10-19T14:57:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e25d2556c756d22b62149af8a357c85bce0d1f8a'/>
<id>urn:sha1:e25d2556c756d22b62149af8a357c85bce0d1f8a</id>
<content type='text'>
commit 879bc2d27904354b98ca295b6168718e045c4aa2 upstream.

When starting a HP machine with HIL driver but without an HIL keyboard
or HIL mouse attached, it may happen that data written to the HIL loop
gets stuck (e.g. because the transaction queue is full).  Usually one
will then have to reboot the machine because all you see is and endless
output of:
 Transaction add failed: transaction already queued?

In the higher layers hp_sdc_enqueue_transaction() is called to queued up
a HIL packet. This function returns an error code, and this patch adds
the necessary checks for this return code and disables the HIL driver if
further packets can't be sent.

Tested on a HP 730 and a HP 715/64 machine.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: hil_mlc - convert timeval to jiffies</title>
<updated>2018-01-02T05:39:12Z</updated>
<author>
<name>WEN Pingbo</name>
<email>pingbo.wen@linaro.org</email>
</author>
<published>2018-01-02T05:31:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=59d805af417809820ed54a8a02525b03bc74d62a'/>
<id>urn:sha1:59d805af417809820ed54a8a02525b03bc74d62a</id>
<content type='text'>
struct timeval is not y2038 safe, and what mlc-&gt;instart do is
scheduling a task in a fixed timeout, so jiffies is the
simplest choice here.

In hilse_donode(), the expires in mod_timer equals

	jiffies + intimeout - (now - instart)

If we use jiffies in 'now', the expires equals

	instart + intimeout

So, all we need to do is that making sure expires is a future
timestamp before passed it to mod_timer.

[arnd: slightly simplified patch further]

Link: https://lists.linaro.org/pipermail/y2038/2015-October/000937.html
Signed-off-by: WEN Pingbo &lt;pingbo.wen@linaro.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Patchwork-Id: 10076615
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: serio HIL MLC - don't deref null, don't leak and return proper error</title>
<updated>2010-11-20T21:38:18Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2010-11-20T21:36:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=39de52104dd92bc0548a20201350111dc9317df9'/>
<id>urn:sha1:39de52104dd92bc0548a20201350111dc9317df9</id>
<content type='text'>
While reviewing various users of kernel memory allocation functions I came
across drivers/input/serio/hil_mlc.c::hil_mlc_register() and noticed that:

 - it calls kzalloc() but fails to check for a NULL return before use.
 - it makes several allocations and if one fails it doesn't free the
   previous ones.
 - It doesn't return -ENOMEM in the failed memory allocation case (it just
   crashes).

This patch corrects all of the above and also reworks the only caller of
this function that I could find
(drivers/input/serio/hp_sdc_mlc.c::hp_sdc_mlc_out()) so that it now checks
the return value of hil_mlc_register() and properly propagates it on
failure and I also restructured the code to remove some labels and goto's
to make it, IMHO nicer to read.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Tested-by: Helge Deller &lt;deller@gmx.de&gt;
Acked-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>tree-wide: fix assorted typos all over the place</title>
<updated>2009-12-04T14:39:55Z</updated>
<author>
<name>André Goddard Rosa</name>
<email>andre.goddard@gmail.com</email>
</author>
<published>2009-11-14T15:09:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=af901ca181d92aac3a7dc265144a9081a86d8f39'/>
<id>urn:sha1:af901ca181d92aac3a7dc265144a9081a86d8f39</id>
<content type='text'>
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.

Signed-off-by: André Goddard Rosa &lt;andre.goddard@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>parisc: hp_sdc_mlc.c - check return value of down_trylock()</title>
<updated>2009-08-02T13:13:29Z</updated>
<author>
<name>Helge Deller</name>
<email>deller@gmx.de</email>
</author>
<published>2009-08-02T13:13:29Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c6fe6b0783a8fd923d11dd0388cbd561ff15bdf1'/>
<id>urn:sha1:c6fe6b0783a8fd923d11dd0388cbd561ff15bdf1</id>
<content type='text'>
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next</title>
<updated>2008-07-21T04:55:14Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2008-07-21T04:55:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=908cf4b925e419bc74f3297b2f0e51d6f8a81da2'/>
<id>urn:sha1:908cf4b925e419bc74f3297b2f0e51d6f8a81da2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Input: hp_sdc_mlc.c - make a struct static</title>
<updated>2008-06-30T13:38:33Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2008-06-26T14:46:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fa14f7e8df9ee8afea23dab21adb0b7a521f1cd6'/>
<id>urn:sha1:fa14f7e8df9ee8afea23dab21adb0b7a521f1cd6</id>
<content type='text'>
This patch makes the needlessly global struct hp_sdc_mlc_priv_s static.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>m68k: Some input drivers do not check the platform</title>
<updated>2008-05-18T20:28:49Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2008-05-18T18:47:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=eb98630ba02f6a23a2d202be082757a9e9940b2b'/>
<id>urn:sha1:eb98630ba02f6a23a2d202be082757a9e9940b2b</id>
<content type='text'>
Some input drivers do not check whether they're actually running on the
correct platform, causing multi-platform kernels to crash if they are not.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Convert asm/semaphore.h users to linux/semaphore.h</title>
<updated>2008-04-19T02:22:54Z</updated>
<author>
<name>Matthew Wilcox</name>
<email>matthew@wil.cx</email>
</author>
<published>2008-04-19T02:21:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6188e10d38b8d7244ee7776d5f1f88c837b4b93f'/>
<id>urn:sha1:6188e10d38b8d7244ee7776d5f1f88c837b4b93f</id>
<content type='text'>
Signed-off-by: Matthew Wilcox &lt;willy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Input: HIL - fix rwlock recursion bug</title>
<updated>2007-03-16T04:59:29Z</updated>
<author>
<name>Helge Deller</name>
<email>deller@gmx.de</email>
</author>
<published>2007-03-16T04:59:29Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9575499dfebc0f0fbbf122223f02e9e92630661d'/>
<id>urn:sha1:9575499dfebc0f0fbbf122223f02e9e92630661d</id>
<content type='text'>
The following bug happens when insmoding hp_sdc_mlc.ko:

    HP SDC MLC: Registering the System Domain Controller's HIL MLC.
    BUG: rwlock recursion on CPU#0, hotplug/1814, 00854734
    Backtrace:
     [&lt;10267560&gt;] _raw_write_lock+0x50/0x88
     [&lt;10104008&gt;] _write_lock_irqsave+0x14/0x24
     [&lt;008537d4&gt;] hp_sdc_mlc_out+0x38/0x25c [hp_sdc_mlc]
     [&lt;0084ebd8&gt;] hilse_donode+0x308/0x470 [hil_mlc]
     [&lt;0084ed80&gt;] hil_mlcs_process+0x40/0x6c [hil_mlc]
     [&lt;10130f80&gt;] tasklet_action+0x78/0xb8
     [&lt;10130cec&gt;] __do_softirq+0x60/0xcc
     [&lt;1010428c&gt;] __lock_text_end+0x38/0x48
     [&lt;10108348&gt;] do_cpu_irq_mask+0xf0/0x11c
     [&lt;1010b068&gt;] intr_return+0x0/0xc

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
</feed>
