<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/media/rc, branch v4.5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>[media] rc: sunxi-cir: Initialize the spinlock properly</title>
<updated>2015-12-23T17:51:40+00:00</updated>
<author>
<name>Chen-Yu Tsai</name>
<email>wens@csie.org</email>
</author>
<published>2015-12-22T04:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=768acf46e1320d6c41ed1b7c4952bab41c1cde79'/>
<id>768acf46e1320d6c41ed1b7c4952bab41c1cde79</id>
<content type='text'>
The driver allocates the spinlock but fails to initialize it correctly.
The kernel reports a BUG indicating bad spinlock magic when spinlock
debugging is enabled.

Call spin_lock_init() on it to initialize it correctly.

Fixes: b4e3e59fb59c ("[media] rc: add sunxi-ir driver")

Signed-off-by: Chen-Yu Tsai &lt;wens@csie.org&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver allocates the spinlock but fails to initialize it correctly.
The kernel reports a BUG indicating bad spinlock magic when spinlock
debugging is enabled.

Call spin_lock_init() on it to initialize it correctly.

Fixes: b4e3e59fb59c ("[media] rc: add sunxi-ir driver")

Signed-off-by: Chen-Yu Tsai &lt;wens@csie.org&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] ir-lirc-codec.c: don't leak lirc-&gt;drv-rbuf</title>
<updated>2015-12-21T16:59:36+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2015-12-21T15:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c77adf214ba619ad959f37fa429aa3f1045fe0cf'/>
<id>c77adf214ba619ad959f37fa429aa3f1045fe0cf</id>
<content type='text'>
As reported by kmemleak:

	unreferenced object 0xffff8802adae0ba0 (size 192):
	  comm "modprobe", pid 3024, jiffies 4296503588 (age 324.368s)
	  hex dump (first 32 bytes):
	    00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00  .....N..........
	    ff ff ff ff ff ff ff ff c0 48 25 a0 ff ff ff ff  .........H%.....
	  backtrace:
	    [&lt;ffffffff82278c8e&gt;] kmemleak_alloc+0x4e/0xb0
	    [&lt;ffffffff8153c08c&gt;] kmem_cache_alloc_trace+0x1ec/0x280
	    [&lt;ffffffffa0250f0d&gt;] ir_lirc_register+0x8d/0x7a0 [ir_lirc_codec]
	    [&lt;ffffffffa07372b8&gt;] ir_raw_event_register+0x318/0x4b0 [rc_core]
	    [&lt;ffffffffa07351ed&gt;] rc_register_device+0xf2d/0x1450 [rc_core]
	    [&lt;ffffffffa13c5451&gt;] au0828_rc_register+0x7d1/0xa10 [au0828]
	    [&lt;ffffffffa13b0dc2&gt;] au0828_usb_probe+0x6c2/0xcf0 [au0828]
	    [&lt;ffffffff81d7619d&gt;] usb_probe_interface+0x45d/0x940
	    [&lt;ffffffff81ca7004&gt;] driver_probe_device+0x454/0xd90
	    [&lt;ffffffff81ca7a61&gt;] __driver_attach+0x121/0x160
	    [&lt;ffffffff81ca141f&gt;] bus_for_each_dev+0x11f/0x1a0
	    [&lt;ffffffff81ca5d4d&gt;] driver_attach+0x3d/0x50
	    [&lt;ffffffff81ca5039&gt;] bus_add_driver+0x4c9/0x770
	    [&lt;ffffffff81ca944c&gt;] driver_register+0x18c/0x3b0
	    [&lt;ffffffff81d71e58&gt;] usb_register_driver+0x1f8/0x440
	    [&lt;ffffffffa13680b7&gt;] 0xffffffffa13680b7

	0xf3d is in ir_lirc_register (drivers/media/rc/ir-lirc-codec.c:348).
	343		drv = kzalloc(sizeof(struct lirc_driver), GFP_KERNEL);
	344		if (!drv)
	345			return rc;
	346
	347		rbuf = kzalloc(sizeof(struct lirc_buffer), GFP_KERNEL);
	348		if (!rbuf)
	349			goto rbuf_alloc_failed;
	350
	351		rc = lirc_buffer_init(rbuf, sizeof(int), LIRCBUF_SIZE);
	352		if (rc)

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As reported by kmemleak:

	unreferenced object 0xffff8802adae0ba0 (size 192):
	  comm "modprobe", pid 3024, jiffies 4296503588 (age 324.368s)
	  hex dump (first 32 bytes):
	    00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00  .....N..........
	    ff ff ff ff ff ff ff ff c0 48 25 a0 ff ff ff ff  .........H%.....
	  backtrace:
	    [&lt;ffffffff82278c8e&gt;] kmemleak_alloc+0x4e/0xb0
	    [&lt;ffffffff8153c08c&gt;] kmem_cache_alloc_trace+0x1ec/0x280
	    [&lt;ffffffffa0250f0d&gt;] ir_lirc_register+0x8d/0x7a0 [ir_lirc_codec]
	    [&lt;ffffffffa07372b8&gt;] ir_raw_event_register+0x318/0x4b0 [rc_core]
	    [&lt;ffffffffa07351ed&gt;] rc_register_device+0xf2d/0x1450 [rc_core]
	    [&lt;ffffffffa13c5451&gt;] au0828_rc_register+0x7d1/0xa10 [au0828]
	    [&lt;ffffffffa13b0dc2&gt;] au0828_usb_probe+0x6c2/0xcf0 [au0828]
	    [&lt;ffffffff81d7619d&gt;] usb_probe_interface+0x45d/0x940
	    [&lt;ffffffff81ca7004&gt;] driver_probe_device+0x454/0xd90
	    [&lt;ffffffff81ca7a61&gt;] __driver_attach+0x121/0x160
	    [&lt;ffffffff81ca141f&gt;] bus_for_each_dev+0x11f/0x1a0
	    [&lt;ffffffff81ca5d4d&gt;] driver_attach+0x3d/0x50
	    [&lt;ffffffff81ca5039&gt;] bus_add_driver+0x4c9/0x770
	    [&lt;ffffffff81ca944c&gt;] driver_register+0x18c/0x3b0
	    [&lt;ffffffff81d71e58&gt;] usb_register_driver+0x1f8/0x440
	    [&lt;ffffffffa13680b7&gt;] 0xffffffffa13680b7

	0xf3d is in ir_lirc_register (drivers/media/rc/ir-lirc-codec.c:348).
	343		drv = kzalloc(sizeof(struct lirc_driver), GFP_KERNEL);
	344		if (!drv)
	345			return rc;
	346
	347		rbuf = kzalloc(sizeof(struct lirc_buffer), GFP_KERNEL);
	348		if (!rbuf)
	349			goto rbuf_alloc_failed;
	350
	351		rc = lirc_buffer_init(rbuf, sizeof(int), LIRCBUF_SIZE);
	352		if (rc)

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: remove unneeded code</title>
<updated>2015-12-03T17:01:11+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-21T14:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c1500ba0b61e9abf95e0e7ecd3c4ad877f019abe'/>
<id>c1500ba0b61e9abf95e0e7ecd3c4ad877f019abe</id>
<content type='text'>
Now that that the decoder modules are loaded on-demand we can move
loading the lirc module to rc_register_device directly and remove
unneeded functions and comments.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that that the decoder modules are loaded on-demand we can move
loading the lirc module to rc_register_device directly and remove
unneeded functions and comments.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: move check whether a protocol is enabled to the core</title>
<updated>2015-11-19T13:39:17+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-16T19:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d80ca8bd71f0b01b2b12459189927cb3299cfab9'/>
<id>d80ca8bd71f0b01b2b12459189927cb3299cfab9</id>
<content type='text'>
Checking whether a protocol is enabled and calling the related decoder
functions should be done by the rc core, not the protocol handlers.

Properly handle lirc considering that no protocol bit is set for lirc.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checking whether a protocol is enabled and calling the related decoder
functions should be done by the rc core, not the protocol handlers.

Properly handle lirc considering that no protocol bit is set for lirc.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: load decoder modules on-demand</title>
<updated>2015-11-19T13:38:41+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-16T19:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=acc1c3c688ed8cc862ddc007eab0dcef839f4ec8'/>
<id>acc1c3c688ed8cc862ddc007eab0dcef839f4ec8</id>
<content type='text'>
Remove code for unconditional decoder module loading (except lirc).

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove code for unconditional decoder module loading (except lirc).

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: constify struct proto_names</title>
<updated>2015-11-19T13:38:14+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-16T19:52:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=53df87771715d6a68013be404350074bec9ad8db'/>
<id>53df87771715d6a68013be404350074bec9ad8db</id>
<content type='text'>
Declare struct proto_names and its member name as const.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Declare struct proto_names and its member name as const.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: preparation for on-demand decoder module loading</title>
<updated>2015-11-19T13:37:40+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-16T19:52:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9f0bf366d70beaae64975dcb89272ea6d6fc4a03'/>
<id>9f0bf366d70beaae64975dcb89272ea6d6fc4a03</id>
<content type='text'>
Prepare on-demand decoder module loading by adding a module_name member
to struct proto_names and introducing the related load function.

After this patch of the series the decoder modules are still loaded
unconditionally.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prepare on-demand decoder module loading by adding a module_name member
to struct proto_names and introducing the related load function.

After this patch of the series the decoder modules are still loaded
unconditionally.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: fix decoder module unloading</title>
<updated>2015-11-19T13:36:29+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-11-16T19:51:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=93cffffc18f6894f90ae03552e8a228eb402347c'/>
<id>93cffffc18f6894f90ae03552e8a228eb402347c</id>
<content type='text'>
Currently, if a decoder module is unloadad, the respective protocol
is still shown as enabled (if it was enabled before).
Fix this by resetting the respective protocol bits if a decoder
module is unloaded.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, if a decoder module is unloadad, the respective protocol
is still shown as enabled (if it was enabled before).
Fix this by resetting the respective protocol bits if a decoder
module is unloaded.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc-core: simplify logging in rc_register_device</title>
<updated>2015-11-19T11:38:19+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-10-29T21:39:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4dc0e908a5512f6ff4be2b4cbb128495c1eaf1ba'/>
<id>4dc0e908a5512f6ff4be2b4cbb128495c1eaf1ba</id>
<content type='text'>
Simplify the logging.

I had some doubts about using the elvis operator as it's GNU extension.
However GNU extensions are explicitely allowed and this operator is
used at several places in the kernel code.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Simplify the logging.

I had some doubts about using the elvis operator as it's GNU extension.
However GNU extensions are explicitely allowed and this operator is
used at several places in the kernel code.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: rc: nuvoton-cir: replace nvt_pr with dev_ functions</title>
<updated>2015-11-19T11:37:34+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-10-29T21:23:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=211477fe35833b44a698b2c1177387ca4ecb4eec'/>
<id>211477fe35833b44a698b2c1177387ca4ecb4eec</id>
<content type='text'>
Replace nvt_pr with the respective dev_ functions thus slightly
simplifying the code.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace nvt_pr with the respective dev_ functions thus slightly
simplifying the code.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
