<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/media/IR/lirc_dev.c, branch v2.6.36</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>V4L/DVB: IR/lirc: make lirc userspace and staging modules buildable</title>
<updated>2010-08-02T19:42:55+00:00</updated>
<author>
<name>Jarod Wilson</name>
<email>jarod@redhat.com</email>
</author>
<published>2010-07-16T17:25:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5690085e7ba7f3081c6ab6db3a3b543444ad8a21'/>
<id>5690085e7ba7f3081c6ab6db3a3b543444ad8a21</id>
<content type='text'>
The lirc userspace needs all the current ioctls defined, and we need to
put the header files in places out-of-tree and/or staging lirc drivers
(which I plan to prep soon) can easily build with. I've actually tested this
in a tree w/all the lirc drivers queued up to be submitted for staging. I'm
also reasonably sure that Andy Walls is going to need most of the ioctls
anyway for his cx23888 IR driver work.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The lirc userspace needs all the current ioctls defined, and we need to
put the header files in places out-of-tree and/or staging lirc drivers
(which I plan to prep soon) can easily build with. I've actually tested this
in a tree w/all the lirc drivers queued up to be submitted for staging. I'm
also reasonably sure that Andy Walls is going to need most of the ioctls
anyway for his cx23888 IR driver work.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>V4L/DVB: lirc: use unlocked_ioctl</title>
<updated>2010-08-02T19:42:22+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2010-08-02T18:43:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=044e5878c2158d701e6f47a9604910589a384ee2'/>
<id>044e5878c2158d701e6f47a9604910589a384ee2</id>
<content type='text'>
New code should not rely on the big kernel lock,
so use the unlocked_ioctl file operation in lirc.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Tested-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Acked-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New code should not rely on the big kernel lock,
so use the unlocked_ioctl file operation in lirc.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Tested-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Acked-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>V4L/DVB: IR/lirc_dev: fix locking in lirc_dev_fop_read</title>
<updated>2010-08-02T18:36:23+00:00</updated>
<author>
<name>Jarod Wilson</name>
<email>jarod@redhat.com</email>
</author>
<published>2010-07-07T14:29:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=69c271f33b949a7b1cbe6f7f39ce3db9e80997a2'/>
<id>69c271f33b949a7b1cbe6f7f39ce3db9e80997a2</id>
<content type='text'>
On Wed, Jul 07, 2010 at 02:52:58PM +0200, Jiri Slaby wrote:
&gt; Hi,
&gt;
&gt; stanse found a locking error in lirc_dev_fop_read:
&gt; if (mutex_lock_interruptible(&amp;ir-&gt;irctl_lock))
&gt;   return -ERESTARTSYS;
&gt; ...
&gt; while (written &lt; length &amp;&amp; ret == 0) {
&gt;   if (mutex_lock_interruptible(&amp;ir-&gt;irctl_lock)) {    #1
&gt;     ret = -ERESTARTSYS;
&gt;     break;
&gt;   }
&gt;   ...
&gt; }
&gt;
&gt; remove_wait_queue(&amp;ir-&gt;buf-&gt;wait_poll, &amp;wait);
&gt; set_current_state(TASK_RUNNING);
&gt; mutex_unlock(&amp;ir-&gt;irctl_lock);                        #2
&gt;
&gt; If lock at #1 fails, it beaks out of the loop, with the lock unlocked,
&gt; but there is another "unlock" at #2.

This should do the trick. Completely untested beyond compiling, but its
not exactly a complicated fix, and in practice, I'm not aware of anyone
ever actually tripping that locking bug, so there's zero functional change
in typical use here.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Wed, Jul 07, 2010 at 02:52:58PM +0200, Jiri Slaby wrote:
&gt; Hi,
&gt;
&gt; stanse found a locking error in lirc_dev_fop_read:
&gt; if (mutex_lock_interruptible(&amp;ir-&gt;irctl_lock))
&gt;   return -ERESTARTSYS;
&gt; ...
&gt; while (written &lt; length &amp;&amp; ret == 0) {
&gt;   if (mutex_lock_interruptible(&amp;ir-&gt;irctl_lock)) {    #1
&gt;     ret = -ERESTARTSYS;
&gt;     break;
&gt;   }
&gt;   ...
&gt; }
&gt;
&gt; remove_wait_queue(&amp;ir-&gt;buf-&gt;wait_poll, &amp;wait);
&gt; set_current_state(TASK_RUNNING);
&gt; mutex_unlock(&amp;ir-&gt;irctl_lock);                        #2
&gt;
&gt; If lock at #1 fails, it beaks out of the loop, with the lock unlocked,
&gt; but there is another "unlock" at #2.

This should do the trick. Completely untested beyond compiling, but its
not exactly a complicated fix, and in practice, I'm not aware of anyone
ever actually tripping that locking bug, so there's zero functional change
in typical use here.

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>V4L/DVB: IR: add lirc device interface</title>
<updated>2010-08-02T18:04:19+00:00</updated>
<author>
<name>Jarod Wilson</name>
<email>jarod@redhat.com</email>
</author>
<published>2010-07-03T04:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4a62a5ab59742331a4e17ccaa894968d40ed9b16'/>
<id>4a62a5ab59742331a4e17ccaa894968d40ed9b16</id>
<content type='text'>
v2: currently unused ioctls are included, but #if 0'd out

Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v2: currently unused ioctls are included, but #if 0'd out

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