<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/rc/imon.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-11-26T13:51:11Z</updated>
<entry>
<title>media: imon: Fix null-ptr-deref in imon_probe</title>
<updated>2017-11-26T13:51:11Z</updated>
<author>
<name>Arvind Yadav</name>
</author>
<published>2017-10-09T18:14:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0df873c63e8e99a8fb6e068d182b860e6e6e07a9'/>
<id>urn:sha1:0df873c63e8e99a8fb6e068d182b860e6e6e07a9</id>
<content type='text'>
commit 58fd55e838276a0c13d1dc7c387f90f25063cbf3 upstream.

It seems that the return value of usb_ifnum_to_if() can be NULL and
needs to be checked.

Signed-off-by: Arvind Yadav &lt;arvind.yadav.cs@gmail.com&gt;
Tested-by: Andrey Konovalov &lt;andreyknvl@google.com&gt;
Signed-off-by: Sean Young &lt;sean@mess.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>imon: don't wedge hardware after early callbacks</title>
<updated>2012-03-01T00:31:22Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2012-01-26T15:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7171d39d2187d3a59f8a2452bce6691755c0b153'/>
<id>urn:sha1:7171d39d2187d3a59f8a2452bce6691755c0b153</id>
<content type='text'>
commit 8791d63af0cf113725ae4cb8cba9492814c59a93 upstream.

This patch is just a minor update to one titled "imon: Input from ffdc
device type ignored" from Corinna Vinschen. An earlier patch to prevent
an oops when we got early callbacks also has the nasty side-effect of
wedging imon hardware, as we don't acknowledge the urb. Rework the check
slightly here to bypass processing the packet, as the driver isn't yet
fully initialized, but still acknowlege the urb and submit a new rx_urb.
Do this for both interfaces -- irrelevant for ffdc hardware, but
relevant for newer hardware, though newer hardware doesn't spew the
constant stream of data as soon as the hardware is initialized like the
older ffdc devices, so they'd be less likely to trigger this anyway...

Tested with both an ffdc device and an 0042 device.

Reported-by: Corinna Vinschen &lt;vinschen@redhat.com&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>[media] imon: don't parse scancodes until intf configured</title>
<updated>2011-09-21T17:48:15Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-07-19T15:12:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f6b90c9231ad6b18f7393e1b6c6cef9dc6aa77c'/>
<id>urn:sha1:6f6b90c9231ad6b18f7393e1b6c6cef9dc6aa77c</id>
<content type='text'>
The imon devices have either 1 or 2 usb interfaces on them, each wired
up to its own urb callback. The interface 0 urb callback is wired up
before the imon context's rc_dev pointer is filled in, which is
necessary for imon 0xffdc device auto-detection to work properly, but we
need to make sure we don't actually run the callback routines until
we've entirely filled in the necessary bits for each given interface,
lest we wind up oopsing. Technically, any imon device could have hit
this, but the issue is exacerbated on the 0xffdc devices, which send a
constant stream of interrupts, even when they have no valid key data.

CC: Andy Walls &lt;awalls@md.metrocast.net&gt;
CC: Chris W &lt;lkml@psychogeeks.com&gt;
Reported-by: Chris W &lt;lkml@psychogeeks.com&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: rate-limit send_packet spew</title>
<updated>2011-08-06T13:46:45Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-07-14T17:20:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47a09b082f70502195ee800bb0cd6f311b125c8f'/>
<id>urn:sha1:47a09b082f70502195ee800bb0cd6f311b125c8f</id>
<content type='text'>
There are folks with flaky imon hardware out there that doesn't always
respond to requests to write to their displays for some reason, which
can flood logs quickly when something like lcdproc is trying to
constantly update the display, so lets rate-limit all that error spew.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: allow either proto on unknown 0xffdc</title>
<updated>2011-07-01T19:34:01Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-06-20T03:07:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=372b4249243d1e7c12a0f2b67e7badc608fcff45'/>
<id>urn:sha1:372b4249243d1e7c12a0f2b67e7badc608fcff45</id>
<content type='text'>
While 0xffdc devices have their IR protocol hard-coded into the firmware
of the device, we have no known way of telling what it is if we don't
have the device's config byte already in the driver. Unknown devices
default to the imon native protocol, but might actually be rc6, so we
should set the driver up such that the user can load the rc6 keytable
from userspace and still have a working device ahead of its config byte
being added to the driver.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: auto-config ffdc 7e device</title>
<updated>2011-07-01T19:33:38Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-06-20T03:04:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=842071c9ea021a42256386cb0cbe3735af33c4db'/>
<id>urn:sha1:842071c9ea021a42256386cb0cbe3735af33c4db</id>
<content type='text'>
Another device with the 0xffdc device id, this one with 0x7e in the
config byte. Its an iMON VFD + RC6 IR, in a CoolerMaster 260 case.

Reported-by: Filip Streibl &lt;filip@streibl.cz&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: fix initial panel key repeat suppression</title>
<updated>2011-06-11T12:04:24Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-06-04T17:14:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94215ccd99eb6e3c8a035c06984630bd7479d963'/>
<id>urn:sha1:94215ccd99eb6e3c8a035c06984630bd7479d963</id>
<content type='text'>
As pointed out on the lirc list by Andreas Dick, initial panel key
repeat suppression wasn't working, as we had no timevals accumulated
until after the first repeat. Also add a missing locking call.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: support for 0x46 0xffdc imon vfd</title>
<updated>2011-06-11T12:04:16Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-06-04T17:00:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=443b391900469f2c5ec5a354ce305000096a94b7'/>
<id>urn:sha1:443b391900469f2c5ec5a354ce305000096a94b7</id>
<content type='text'>
Courtesy of information from Andreas Dick on the lirc list.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: Correct call to input_free_device</title>
<updated>2011-05-20T19:34:24Z</updated>
<author>
<name>Julia Lawall</name>
</author>
<published>2011-05-20T18:31:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aeb35ebc5f54bcdd7163f5282a3f39bc48c75cae'/>
<id>urn:sha1:aeb35ebc5f54bcdd7163f5282a3f39bc48c75cae</id>
<content type='text'>
ictx-&gt;touch is intialied in imon_init_intf1, to the result of calling the
function that contains this code.  Thus, in this code, input_free_device
should be called on touch itself.

A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@r exists@
local idexpression struct input_dev * x;
expression ra,rr;
position p1,p2;
@@

x = input_allocate_device@p1(...)
...  when != x = rr
    when != input_free_device(x,...)
    when != if (...) { ... input_free_device(x,...) ...}
if(...) { ... when != x = ra
    when forall
    when != input_free_device(x,...)
\(return &lt;+...x...+&gt;; \| return@p2...; \) }

@script:python@
p1 &lt;&lt; r.p1;
p2 &lt;&lt; r.p2;
@@

cocci.print_main("input_allocate_device",p1)
cocci.print_secs("input_free_device",p2)
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] imon: clean up disconnect routine</title>
<updated>2011-05-20T18:56:41Z</updated>
<author>
<name>Jarod Wilson</name>
</author>
<published>2011-04-28T21:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76a2d21d96fba4d0e94cf191eb3716ea7c4916e8'/>
<id>urn:sha1:76a2d21d96fba4d0e94cf191eb3716ea7c4916e8</id>
<content type='text'>
- Eliminate a possible circular locking lockdep warning
- Make sure we don't try to unregister a vfd on a device w/a vga screen
- Always free imon context after devices are removed (display_close can
  just error out w/no context)

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
</feed>
