<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/media, branch v3.18.4</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>vivid: fix CROP_BOUNDS typo for video output</title>
<updated>2015-01-27T16:29:40+00:00</updated>
<author>
<name>Hans Verkuil</name>
<email>hverkuil@xs4all.nl</email>
</author>
<published>2014-12-06T10:30:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=24a209fd9b566f5f0ec3307cb2edba0d42c1d886'/>
<id>24a209fd9b566f5f0ec3307cb2edba0d42c1d886</id>
<content type='text'>
commit bb9ff078860f9d2f79d3a6bea3af9f48354ddb75 upstream.

An error was returned if composing was not supported, instead of if
cropping was not supported.

A classic copy-and-paste bug. Found with v4l2-compliance.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bb9ff078860f9d2f79d3a6bea3af9f48354ddb75 upstream.

An error was returned if composing was not supported, instead of if
cropping was not supported.

A classic copy-and-paste bug. Found with v4l2-compliance.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>img-ir/hw: Fix potential deadlock stopping timer</title>
<updated>2015-01-27T16:29:40+00:00</updated>
<author>
<name>James Hogan</name>
<email>james.hogan@imgtec.com</email>
</author>
<published>2014-12-01T12:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e6bd63e792d95c1dd9644c315951b734ef3680f3'/>
<id>e6bd63e792d95c1dd9644c315951b734ef3680f3</id>
<content type='text'>
commit ac03086067a5524ae9e020ba5712a208c67b2736 upstream.

The end timer is used for switching back from repeat code timings when
no repeat codes have been received for a certain amount of time. When
the protocol is changed, the end timer is deleted synchronously with
del_timer_sync(), however this takes place while holding the main spin
lock, and the timer handler also needs to acquire the spin lock.

This opens the possibility of a deadlock on an SMP system if the
protocol is changed just as the repeat timer is expiring. One CPU could
end up in img_ir_set_decoder() holding the lock and waiting for the end
timer to complete, while the other CPU is stuck in the timer handler
spinning on the lock held by the first CPU.

Lockdep also spots a possible lock inversion in the same code, since
img_ir_set_decoder() acquires the img-ir lock before the timer lock, but
the timer handler will try and acquire them the other way around:

=========================================================
[ INFO: possible irq lock inversion dependency detected ]
3.18.0-rc5+ #957 Not tainted
---------------------------------------------------------
swapper/0/0 just changed the state of lock:
 (((&amp;hw-&gt;end_timer))){+.-...}, at: [&lt;4006ae5c&gt;] _call_timer_fn+0x0/0xfc
but this lock was taken by another, HARDIRQ-safe lock in the past:
 (&amp;(&amp;priv-&gt;lock)-&gt;rlock#2){-.....}

and interrupts could create inverse lock ordering between them.

other info that might help us debug this:
 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(((&amp;hw-&gt;end_timer)));
                               local_irq_disable();
                               lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
                               lock(((&amp;hw-&gt;end_timer)));
  &lt;Interrupt&gt;
    lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);

 *** DEADLOCK ***

This is fixed by releasing the main spin lock while performing the
del_timer_sync() call. The timer is prevented from restarting before the
lock is reacquired by a new "stopping" flag which img_ir_handle_data()
checks before updating the timer.

---------------------------------------------------------
swapper/0/0 just changed the state of lock:
 (((&amp;hw-&gt;end_timer))){+.-...}, at: [&lt;4006ae5c&gt;] _call_timer_fn+0x0/0xfc
but this lock was taken by another, HARDIRQ-safe lock in the past:
 (&amp;(&amp;priv-&gt;lock)-&gt;rlock#2){-.....}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this:
 Possible interrupt unsafe locking scenario:
       CPU0                    CPU1
       ----                    ----
  lock(((&amp;hw-&gt;end_timer)));
                               local_irq_disable();
                               lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
                               lock(((&amp;hw-&gt;end_timer)));
  &lt;Interrupt&gt;
    lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
 *** DEADLOCK ***
This is fixed by releasing the main spin lock while performing the
del_timer_sync() call. The timer is prevented from restarting before the
lock is reacquired by a new "stopping" flag which img_ir_handle_data()
checks before updating the timer.

Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Sifan Naeem &lt;sifan.naeem@imgtec.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ac03086067a5524ae9e020ba5712a208c67b2736 upstream.

The end timer is used for switching back from repeat code timings when
no repeat codes have been received for a certain amount of time. When
the protocol is changed, the end timer is deleted synchronously with
del_timer_sync(), however this takes place while holding the main spin
lock, and the timer handler also needs to acquire the spin lock.

This opens the possibility of a deadlock on an SMP system if the
protocol is changed just as the repeat timer is expiring. One CPU could
end up in img_ir_set_decoder() holding the lock and waiting for the end
timer to complete, while the other CPU is stuck in the timer handler
spinning on the lock held by the first CPU.

Lockdep also spots a possible lock inversion in the same code, since
img_ir_set_decoder() acquires the img-ir lock before the timer lock, but
the timer handler will try and acquire them the other way around:

=========================================================
[ INFO: possible irq lock inversion dependency detected ]
3.18.0-rc5+ #957 Not tainted
---------------------------------------------------------
swapper/0/0 just changed the state of lock:
 (((&amp;hw-&gt;end_timer))){+.-...}, at: [&lt;4006ae5c&gt;] _call_timer_fn+0x0/0xfc
but this lock was taken by another, HARDIRQ-safe lock in the past:
 (&amp;(&amp;priv-&gt;lock)-&gt;rlock#2){-.....}

and interrupts could create inverse lock ordering between them.

other info that might help us debug this:
 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(((&amp;hw-&gt;end_timer)));
                               local_irq_disable();
                               lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
                               lock(((&amp;hw-&gt;end_timer)));
  &lt;Interrupt&gt;
    lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);

 *** DEADLOCK ***

This is fixed by releasing the main spin lock while performing the
del_timer_sync() call. The timer is prevented from restarting before the
lock is reacquired by a new "stopping" flag which img_ir_handle_data()
checks before updating the timer.

---------------------------------------------------------
swapper/0/0 just changed the state of lock:
 (((&amp;hw-&gt;end_timer))){+.-...}, at: [&lt;4006ae5c&gt;] _call_timer_fn+0x0/0xfc
but this lock was taken by another, HARDIRQ-safe lock in the past:
 (&amp;(&amp;priv-&gt;lock)-&gt;rlock#2){-.....}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this:
 Possible interrupt unsafe locking scenario:
       CPU0                    CPU1
       ----                    ----
  lock(((&amp;hw-&gt;end_timer)));
                               local_irq_disable();
                               lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
                               lock(((&amp;hw-&gt;end_timer)));
  &lt;Interrupt&gt;
    lock(&amp;(&amp;priv-&gt;lock)-&gt;rlock#2);
 *** DEADLOCK ***
This is fixed by releasing the main spin lock while performing the
del_timer_sync() call. The timer is prevented from restarting before the
lock is reacquired by a new "stopping" flag which img_ir_handle_data()
checks before updating the timer.

Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Sifan Naeem &lt;sifan.naeem@imgtec.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>img-ir/hw: Always read data to clear buffer</title>
<updated>2015-01-27T16:29:40+00:00</updated>
<author>
<name>Dylan Rajaratnam</name>
<email>dylan.rajaratnam@imgtec.com</email>
</author>
<published>2014-11-17T12:17:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7abbdc958907add5be23aac04e691c3706e3a852'/>
<id>7abbdc958907add5be23aac04e691c3706e3a852</id>
<content type='text'>
commit ea0de4ec5489da0fe738b274effac4f950e93d76 upstream.

A problem was found on Polaris where if the unit it booted via the power
button on the infrared remote then the next button press on the remote
would return the key code used to power on the unit.

The sequence is:
 - The polaris powered off but with the powerdown controller (PDC) block
   still powered.
 - Press power key on remote, IR block receives the key.
 - Kernel starts, IR code is in IMG_IR_DATA_x but neither IMG_IR_RXDVAL
   or IMG_IR_RXDVALD2 are set.
 - Wait any amount of time.
 - Press any key.
 - IMG_IR_RXDVAL or IMG_IR_RXDVALD2 is set but IMG_IR_DATA_x is
   unchanged since the powerup key data was never read.

This is worked around by always reading the IMG_IR_DATA_x in
img_ir_set_decoder(), rather than only when the IMG_IR_RXDVAL or
IMG_IR_RXDVALD2 bit is set.

Signed-off-by: Dylan Rajaratnam &lt;dylan.rajaratnam@imgtec.com&gt;
Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ea0de4ec5489da0fe738b274effac4f950e93d76 upstream.

A problem was found on Polaris where if the unit it booted via the power
button on the infrared remote then the next button press on the remote
would return the key code used to power on the unit.

The sequence is:
 - The polaris powered off but with the powerdown controller (PDC) block
   still powered.
 - Press power key on remote, IR block receives the key.
 - Kernel starts, IR code is in IMG_IR_DATA_x but neither IMG_IR_RXDVAL
   or IMG_IR_RXDVALD2 are set.
 - Wait any amount of time.
 - Press any key.
 - IMG_IR_RXDVAL or IMG_IR_RXDVALD2 is set but IMG_IR_DATA_x is
   unchanged since the powerup key data was never read.

This is worked around by always reading the IMG_IR_DATA_x in
img_ir_set_decoder(), rather than only when the IMG_IR_RXDVAL or
IMG_IR_RXDVALD2 bit is set.

Signed-off-by: Dylan Rajaratnam &lt;dylan.rajaratnam@imgtec.com&gt;
Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>uvcvideo: Fix destruction order in uvc_delete()</title>
<updated>2015-01-27T16:29:40+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-10-24T08:10:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=73db430b6665717ba49baa5f06b87e782877c23e'/>
<id>73db430b6665717ba49baa5f06b87e782877c23e</id>
<content type='text'>
commit 2228d80dd05a4fc5a410fde847677b8fb3eb23d7 upstream.

We've got a bug report at disconnecting a Webcam, where the kernel
spews warnings like below:
  WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 sysfs_remove_group+0x87/0x90()
  sysfs group c0b2350c not found for kobject 'event3'
  CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1
  Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013  11/12/2004
    c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1
    c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064
    ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7
  Call Trace:
    [&lt;c0205ba6&gt;] try_stack_unwind+0x156/0x170
    [&lt;c02046f3&gt;] dump_trace+0x53/0x180
    [&lt;c0205c06&gt;] show_trace_log_lvl+0x46/0x50
    [&lt;c0204871&gt;] show_stack_log_lvl+0x51/0xe0
    [&lt;c0205c67&gt;] show_stack+0x27/0x50
    [&lt;c0718c5b&gt;] dump_stack+0x3e/0x4e
    [&lt;c024b654&gt;] warn_slowpath_common+0x84/0xa0
    [&lt;c024b6a3&gt;] warn_slowpath_fmt+0x33/0x40
    [&lt;c03d1ec7&gt;] sysfs_remove_group+0x87/0x90
    [&lt;c05a2c54&gt;] device_del+0x34/0x180
    [&lt;c05e3989&gt;] evdev_disconnect+0x19/0x50
    [&lt;c05e06fa&gt;] __input_unregister_device+0x9a/0x140
    [&lt;c05e0845&gt;] input_unregister_device+0x45/0x80
    [&lt;f854b1d6&gt;] uvc_delete+0x26/0x110 [uvcvideo]
    [&lt;f84d66f8&gt;] v4l2_device_release+0x98/0xc0 [videodev]
    [&lt;c05a25bb&gt;] device_release+0x2b/0x90
    [&lt;c04ad8bf&gt;] kobject_cleanup+0x6f/0x1a0
    [&lt;f84d5453&gt;] v4l2_release+0x43/0x70 [videodev]
    [&lt;c0372f31&gt;] __fput+0xb1/0x1b0
    [&lt;c02650c1&gt;] task_work_run+0x91/0xb0
    [&lt;c024d845&gt;] do_exit+0x265/0x910
    [&lt;c024df64&gt;] do_group_exit+0x34/0xa0
    [&lt;c025a76f&gt;] get_signal_to_deliver+0x17f/0x590
    [&lt;c0201b6a&gt;] do_signal+0x3a/0x960
    [&lt;c02024f7&gt;] do_notify_resume+0x67/0x90
    [&lt;c071ebb5&gt;] work_notifysig+0x30/0x3b
    [&lt;b7739e60&gt;] 0xb7739e5f
   ---[ end trace b1e56095a485b631 ]---

The cause is that uvc_status_cleanup() is called after usb_put_*() in
uvc_delete().  usb_put_*() removes the sysfs parent and eventually
removes the children recursively, so the later device_del() can't find
its sysfs.  The fix is simply rearrange the call orders in
uvc_delete() so that the child is removed before the parent.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736
Reported-and-tested-by: Martin Pluskal &lt;mpluskal@suse.com&gt;

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2228d80dd05a4fc5a410fde847677b8fb3eb23d7 upstream.

We've got a bug report at disconnecting a Webcam, where the kernel
spews warnings like below:
  WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 sysfs_remove_group+0x87/0x90()
  sysfs group c0b2350c not found for kobject 'event3'
  CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1
  Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013  11/12/2004
    c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1
    c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064
    ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7
  Call Trace:
    [&lt;c0205ba6&gt;] try_stack_unwind+0x156/0x170
    [&lt;c02046f3&gt;] dump_trace+0x53/0x180
    [&lt;c0205c06&gt;] show_trace_log_lvl+0x46/0x50
    [&lt;c0204871&gt;] show_stack_log_lvl+0x51/0xe0
    [&lt;c0205c67&gt;] show_stack+0x27/0x50
    [&lt;c0718c5b&gt;] dump_stack+0x3e/0x4e
    [&lt;c024b654&gt;] warn_slowpath_common+0x84/0xa0
    [&lt;c024b6a3&gt;] warn_slowpath_fmt+0x33/0x40
    [&lt;c03d1ec7&gt;] sysfs_remove_group+0x87/0x90
    [&lt;c05a2c54&gt;] device_del+0x34/0x180
    [&lt;c05e3989&gt;] evdev_disconnect+0x19/0x50
    [&lt;c05e06fa&gt;] __input_unregister_device+0x9a/0x140
    [&lt;c05e0845&gt;] input_unregister_device+0x45/0x80
    [&lt;f854b1d6&gt;] uvc_delete+0x26/0x110 [uvcvideo]
    [&lt;f84d66f8&gt;] v4l2_device_release+0x98/0xc0 [videodev]
    [&lt;c05a25bb&gt;] device_release+0x2b/0x90
    [&lt;c04ad8bf&gt;] kobject_cleanup+0x6f/0x1a0
    [&lt;f84d5453&gt;] v4l2_release+0x43/0x70 [videodev]
    [&lt;c0372f31&gt;] __fput+0xb1/0x1b0
    [&lt;c02650c1&gt;] task_work_run+0x91/0xb0
    [&lt;c024d845&gt;] do_exit+0x265/0x910
    [&lt;c024df64&gt;] do_group_exit+0x34/0xa0
    [&lt;c025a76f&gt;] get_signal_to_deliver+0x17f/0x590
    [&lt;c0201b6a&gt;] do_signal+0x3a/0x960
    [&lt;c02024f7&gt;] do_notify_resume+0x67/0x90
    [&lt;c071ebb5&gt;] work_notifysig+0x30/0x3b
    [&lt;b7739e60&gt;] 0xb7739e5f
   ---[ end trace b1e56095a485b631 ]---

The cause is that uvc_status_cleanup() is called after usb_put_*() in
uvc_delete().  usb_put_*() removes the sysfs parent and eventually
removes the children recursively, so the later device_del() can't find
its sysfs.  The fix is simply rearrange the call orders in
uvc_delete() so that the child is removed before the parent.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736
Reported-and-tested-by: Martin Pluskal &lt;mpluskal@suse.com&gt;

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>sound: simplify au0828 quirk table</title>
<updated>2015-01-27T16:29:39+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2014-10-30T10:53:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5eb7814b215eeeda452ad906fec2bfcd78b54fee'/>
<id>5eb7814b215eeeda452ad906fec2bfcd78b54fee</id>
<content type='text'>
commit 5d1f00a20d2d56ed480e64e938a2391353ee565b upstream.

Add a macro to simplify au0828 quirk table. That makes easier
to check it against the USB IDs at drivers/media/usb/au0828/au0828-cards.c.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5d1f00a20d2d56ed480e64e938a2391353ee565b upstream.

Add a macro to simplify au0828 quirk table. That makes easier
to check it against the USB IDs at drivers/media/usb/au0828/au0828-cards.c.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>smiapp: Take mutex during PLL update in sensor initialisation</title>
<updated>2015-01-27T16:29:39+00:00</updated>
<author>
<name>Sakari Ailus</name>
<email>sakari.ailus@linux.intel.com</email>
</author>
<published>2014-09-16T18:57:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=129d51a91f17a60e58d2c4201925710431610275'/>
<id>129d51a91f17a60e58d2c4201925710431610275</id>
<content type='text'>
commit f85698cd296f08218a7750f321e94607da128600 upstream.

The mutex does not serialise anything in this case but avoids a lockdep
warning from the control framework.

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f85698cd296f08218a7750f321e94607da128600 upstream.

The mutex does not serialise anything in this case but avoids a lockdep
warning from the control framework.

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>af9005: fix kernel panic on init if compiled without IR</title>
<updated>2015-01-27T16:29:39+00:00</updated>
<author>
<name>Frank Schaefer</name>
<email>fschaefer.oss@googlemail.com</email>
</author>
<published>2014-09-29T18:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8d5d2e131054a376d92e685b5946e23f853ffa07'/>
<id>8d5d2e131054a376d92e685b5946e23f853ffa07</id>
<content type='text'>
commit 2279948735609d0d17d7384e776b674619f792ef upstream.

This patches fixes an ancient bug in the dvb_usb_af9005 driver, which
has been reported at least in the following threads:
https://lkml.org/lkml/2009/2/4/350
https://lkml.org/lkml/2014/9/18/558

If the driver is compiled in without any IR support (neither
DVB_USB_AF9005_REMOTE nor custom symbols), the symbol_request calls in
af9005_usb_module_init() return pointers != NULL although the IR
symbols are not available.

This leads to the following oops:
...
[    8.529751] usbcore: registered new interface driver dvb_usb_af9005
[    8.531584] BUG: unable to handle kernel paging request at 02e00000
[    8.533385] IP: [&lt;7d9d67c6&gt;] af9005_usb_module_init+0x6b/0x9d
[    8.535613] *pde = 00000000
[    8.536416] Oops: 0000 [#1] PREEMPT PREEMPT DEBUG_PAGEALLOCDEBUG_PAGEALLOC
[    8.537863] CPU: 0 PID: 1 Comm: swapper Not tainted 3.15.0-rc6-00151-ga5c075c #1
[    8.539827] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    8.541519] task: 89c9a670 ti: 89c9c000 task.ti: 89c9c000
[    8.541519] EIP: 0060:[&lt;7d9d67c6&gt;] EFLAGS: 00010206 CPU: 0
[    8.541519] EIP is at af9005_usb_module_init+0x6b/0x9d
[    8.541519] EAX: 02e00000 EBX: 00000000 ECX: 00000006 EDX: 00000000
[    8.541519] ESI: 00000000 EDI: 7da33ec8 EBP: 89c9df30 ESP: 89c9df2c
[    8.541519]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
[    8.541519] CR0: 8005003b CR2: 02e00000 CR3: 05a54000 CR4: 00000690
[    8.541519] Stack:
[    8.541519]  7d9d675b 89c9df90 7d992a49 7d7d5914 89c9df4c 7be3a800 7d08c58c 8a4c3968
[    8.541519]  89c9df80 7be3a966 00000192 00000006 00000006 7d7d3ff4 8a4c397a 00000200
[    8.541519]  7d6b1280 8a4c3979 00000006 000009a6 7da32db8 b13eec81 00000006 000009a6
[    8.541519] Call Trace:
[    8.541519]  [&lt;7d9d675b&gt;] ? ttusb2_driver_init+0x16/0x16
[    8.541519]  [&lt;7d992a49&gt;] do_one_initcall+0x77/0x106
[    8.541519]  [&lt;7be3a800&gt;] ? parameqn+0x2/0x35
[    8.541519]  [&lt;7be3a966&gt;] ? parse_args+0x113/0x25c
[    8.541519]  [&lt;7d992bc2&gt;] kernel_init_freeable+0xea/0x167
[    8.541519]  [&lt;7cf01070&gt;] kernel_init+0x8/0xb8
[    8.541519]  [&lt;7cf27ec0&gt;] ret_from_kernel_thread+0x20/0x30
[    8.541519]  [&lt;7cf01068&gt;] ? rest_init+0x10c/0x10c
[    8.541519] Code: 08 c2 c7 05 44 ed f9 7d 00 00 e0 02 c7 05 40 ed f9 7d 00 00 e0 02 c7 05 3c ed f9 7d 00 00 e0 02 75 1f b8 00 00 e0 02 85 c0 74 16 &lt;a1&gt; 00 00 e0 02 c7 05 54 84 8e 7d 00 00 e0 02 a3 58 84 8e 7d eb
[    8.541519] EIP: [&lt;7d9d67c6&gt;] af9005_usb_module_init+0x6b/0x9d SS:ESP 0068:89c9df2c
[    8.541519] CR2: 0000000002e00000
[    8.541519] ---[ end trace 768b6faf51370fc7 ]---

The prefered fix would be to convert the whole IR code to use the kernel IR
infrastructure (which wasn't available at the time this driver had been created).

Until anyone who still has this old hardware steps up an does the conversion,
fix it by not calling the symbol_request calls if the driver is compiled in
without the default IR symbols (CONFIG_DVB_USB_AF9005_REMOTE).
Due to the IR related pointers beeing NULL by default, IR support will then be disabled.

The downside of this solution is, that it will no longer be possible to
compile custom IR symbols (not using CONFIG_DVB_USB_AF9005_REMOTE) in.

Please note that this patch has NOT been tested with all possible cases.
I don't have the hardware and could only verify that it fixes the reported
bug.

Reported-by: Fengguag Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Frank Schäfer &lt;fschaefer.oss@googlemail.com&gt;
Acked-by: Luca Olivetti &lt;luca@ventoso.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2279948735609d0d17d7384e776b674619f792ef upstream.

This patches fixes an ancient bug in the dvb_usb_af9005 driver, which
has been reported at least in the following threads:
https://lkml.org/lkml/2009/2/4/350
https://lkml.org/lkml/2014/9/18/558

If the driver is compiled in without any IR support (neither
DVB_USB_AF9005_REMOTE nor custom symbols), the symbol_request calls in
af9005_usb_module_init() return pointers != NULL although the IR
symbols are not available.

This leads to the following oops:
...
[    8.529751] usbcore: registered new interface driver dvb_usb_af9005
[    8.531584] BUG: unable to handle kernel paging request at 02e00000
[    8.533385] IP: [&lt;7d9d67c6&gt;] af9005_usb_module_init+0x6b/0x9d
[    8.535613] *pde = 00000000
[    8.536416] Oops: 0000 [#1] PREEMPT PREEMPT DEBUG_PAGEALLOCDEBUG_PAGEALLOC
[    8.537863] CPU: 0 PID: 1 Comm: swapper Not tainted 3.15.0-rc6-00151-ga5c075c #1
[    8.539827] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    8.541519] task: 89c9a670 ti: 89c9c000 task.ti: 89c9c000
[    8.541519] EIP: 0060:[&lt;7d9d67c6&gt;] EFLAGS: 00010206 CPU: 0
[    8.541519] EIP is at af9005_usb_module_init+0x6b/0x9d
[    8.541519] EAX: 02e00000 EBX: 00000000 ECX: 00000006 EDX: 00000000
[    8.541519] ESI: 00000000 EDI: 7da33ec8 EBP: 89c9df30 ESP: 89c9df2c
[    8.541519]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
[    8.541519] CR0: 8005003b CR2: 02e00000 CR3: 05a54000 CR4: 00000690
[    8.541519] Stack:
[    8.541519]  7d9d675b 89c9df90 7d992a49 7d7d5914 89c9df4c 7be3a800 7d08c58c 8a4c3968
[    8.541519]  89c9df80 7be3a966 00000192 00000006 00000006 7d7d3ff4 8a4c397a 00000200
[    8.541519]  7d6b1280 8a4c3979 00000006 000009a6 7da32db8 b13eec81 00000006 000009a6
[    8.541519] Call Trace:
[    8.541519]  [&lt;7d9d675b&gt;] ? ttusb2_driver_init+0x16/0x16
[    8.541519]  [&lt;7d992a49&gt;] do_one_initcall+0x77/0x106
[    8.541519]  [&lt;7be3a800&gt;] ? parameqn+0x2/0x35
[    8.541519]  [&lt;7be3a966&gt;] ? parse_args+0x113/0x25c
[    8.541519]  [&lt;7d992bc2&gt;] kernel_init_freeable+0xea/0x167
[    8.541519]  [&lt;7cf01070&gt;] kernel_init+0x8/0xb8
[    8.541519]  [&lt;7cf27ec0&gt;] ret_from_kernel_thread+0x20/0x30
[    8.541519]  [&lt;7cf01068&gt;] ? rest_init+0x10c/0x10c
[    8.541519] Code: 08 c2 c7 05 44 ed f9 7d 00 00 e0 02 c7 05 40 ed f9 7d 00 00 e0 02 c7 05 3c ed f9 7d 00 00 e0 02 75 1f b8 00 00 e0 02 85 c0 74 16 &lt;a1&gt; 00 00 e0 02 c7 05 54 84 8e 7d 00 00 e0 02 a3 58 84 8e 7d eb
[    8.541519] EIP: [&lt;7d9d67c6&gt;] af9005_usb_module_init+0x6b/0x9d SS:ESP 0068:89c9df2c
[    8.541519] CR2: 0000000002e00000
[    8.541519] ---[ end trace 768b6faf51370fc7 ]---

The prefered fix would be to convert the whole IR code to use the kernel IR
infrastructure (which wasn't available at the time this driver had been created).

Until anyone who still has this old hardware steps up an does the conversion,
fix it by not calling the symbol_request calls if the driver is compiled in
without the default IR symbols (CONFIG_DVB_USB_AF9005_REMOTE).
Due to the IR related pointers beeing NULL by default, IR support will then be disabled.

The downside of this solution is, that it will no longer be possible to
compile custom IR symbols (not using CONFIG_DVB_USB_AF9005_REMOTE) in.

Please note that this patch has NOT been tested with all possible cases.
I don't have the hardware and could only verify that it fixes the reported
bug.

Reported-by: Fengguag Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Frank Schäfer &lt;fschaefer.oss@googlemail.com&gt;
Acked-by: Luca Olivetti &lt;luca@ventoso.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>smiapp-pll: Correct clock debug prints</title>
<updated>2015-01-27T16:29:39+00:00</updated>
<author>
<name>Sakari Ailus</name>
<email>sakari.ailus@linux.intel.com</email>
</author>
<published>2014-04-01T13:22:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b5b7b720cb3674ae1be1daa64c670f348f644256'/>
<id>b5b7b720cb3674ae1be1daa64c670f348f644256</id>
<content type='text'>
commit bc47150ab93988714d1fab7bc82fe5f505a107ad upstream.

The PLL flags were not used correctly.

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bc47150ab93988714d1fab7bc82fe5f505a107ad upstream.

The PLL flags were not used correctly.

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>[media] rc-core: fix toggle handling in the rc6 decoder</title>
<updated>2014-11-21T17:57:47+00:00</updated>
<author>
<name>David Härdeman</name>
<email>david@hardeman.nu</email>
</author>
<published>2014-11-20T21:09:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d2a74581390d8e5ed09b12c9d4736847d918dfa6'/>
<id>d2a74581390d8e5ed09b12c9d4736847d918dfa6</id>
<content type='text'>
The toggle bit shouldn't be cleared before the toggle value is calculated.

This should probably go into 3.17.x as well.

Fixes: 120703f9eb32 ([media] rc-core: document the protocol type)

Cc: stable@vger.kernel.org # For v3.17
Tested-by: Stephan Raue &lt;mailinglists@openelec.tv&gt;
Signed-off-by: David Härdeman &lt;david@hardeman.nu&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>
The toggle bit shouldn't be cleared before the toggle value is calculated.

This should probably go into 3.17.x as well.

Fixes: 120703f9eb32 ([media] rc-core: document the protocol type)

Cc: stable@vger.kernel.org # For v3.17
Tested-by: Stephan Raue &lt;mailinglists@openelec.tv&gt;
Signed-off-by: David Härdeman &lt;david@hardeman.nu&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] cx23885: use sg = sg_next(sg) instead of sg++</title>
<updated>2014-11-21T17:46:58+00:00</updated>
<author>
<name>Hans Verkuil</name>
<email>hverkuil@xs4all.nl</email>
</author>
<published>2014-11-21T09:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7675fe99d280ea83388a4382c54573c80db37cda'/>
<id>7675fe99d280ea83388a4382c54573c80db37cda</id>
<content type='text'>
The cx23885 driver still used sg++ instead of sg = sg_next(sg). This worked with
vb1 since that filled in the sglist manually, page-by-page, but it fails with vb2
which uses core scatterlist code that can combine contiguous scatterlist entries
into one larger entry.

This bug led to the following crash as reported by Mariusz:

[20712.990258] BUG: Bad page state in process vb2-cx23885[0]  pfn:2ca34
[20712.990265] page:ffffea00009c3b60 count:-1 mapcount:0 mapping:          (null) index:0x0
[20712.990266] flags: 0x4000000000000000()
[20712.990268] page dumped because: nonzero _count
[20712.990269] Modules linked in: tun binfmt_misc nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables xt_mark xt_REDIRECT xt_limit xt_conntrack xt_nat xt_tcpudp iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables sit ip_tunnel nvidia(PO) stb6100 stv090x cx88_dvb videobuf_dvb cx88_vp3054_i2c tuner kvm_amd kvm cx8802 k10temp cx8800 cx88xx btcx_risc videobuf_dma_sg videobuf_core usb_storage ds2490 usbhid ftdi_sio cx23885 tveeprom cx2341x videobuf2_dvb videobuf2_core videobuf2_dma_sg videobuf2_memops asus_atk0110 snd_emu10k1 snd_hwdep snd_util_mem snd_ac97_codec ac97_bus snd_rawmidi snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd w1_therm wire ipv6
[20712.990301] CPU: 2 PID: 26942 Comm: vb2-cx23885[0] Tainted: P    B   W  O   3.18.0-rc5-00001-gb3652d1 #2
[20712.990303] Hardware name: System manufacturer System Product Name/M4A785TD-V EVO, BIOS 2105    07/23/2010
[20712.990305]  ffffffff81765734 ffff880137683a78 ffffffff815b6b32 0000000000000006
[20712.990307]  ffffea00009c3b60 ffff880137683aa8 ffffffff8108ec27 ffffffff81765712
[20712.990309]  ffffffff8189c840 0000000000000246 ffffea00009c3b60 ffff880137683b78
[20712.990312] Call Trace:
[20712.990317]  [&lt;ffffffff815b6b32&gt;] dump_stack+0x46/0x58
[20712.990321]  [&lt;ffffffff8108ec27&gt;] bad_page+0xe9/0x107
[20712.990323]  [&lt;ffffffff810912ca&gt;] get_page_from_freelist+0x3b2/0x505
[20712.990326]  [&lt;ffffffff8109150a&gt;] __alloc_pages_nodemask+0xed/0x65f
[20712.990330]  [&lt;ffffffff81047a52&gt;] ? ttwu_do_activate.constprop.78+0x57/0x5c
[20712.990332]  [&lt;ffffffff81049ff3&gt;] ? try_to_wake_up+0x21b/0x22d
[20712.990336]  [&lt;ffffffff810070f4&gt;] dma_generic_alloc_coherent+0x6e/0xf5
[20712.990339]  [&lt;ffffffff810261a9&gt;] gart_alloc_coherent+0x105/0x114
[20712.990341]  [&lt;ffffffff81025963&gt;] ? flush_gart+0x39/0x3d
[20712.990343]  [&lt;ffffffff810260a4&gt;] ? gart_map_sg+0x3a0/0x3a0
[20712.990349]  [&lt;ffffffffa0141a1e&gt;] cx23885_risc_databuffer+0xa7/0x133 [cx23885]
[20712.990354]  [&lt;ffffffffa0142764&gt;] cx23885_buf_prepare+0x121/0x134 [cx23885]
[20712.990359]  [&lt;ffffffffa0144210&gt;] buffer_prepare+0x14/0x16 [cx23885]
[20712.990363]  [&lt;ffffffffa011f101&gt;] __buf_prepare+0x190/0x279 [videobuf2_core]
[20712.990366]  [&lt;ffffffffa011d906&gt;] ? vb2_queue_or_prepare_buf+0xb8/0xc0 [videobuf2_core]
[20712.990369]  [&lt;ffffffffa011f34b&gt;] vb2_internal_qbuf+0x51/0x1e5 [videobuf2_core]
[20712.990372]  [&lt;ffffffffa0120537&gt;] vb2_thread+0x199/0x1f6 [videobuf2_core]
[20712.990376]  [&lt;ffffffffa012039e&gt;] ? vb2_fop_write+0xdf/0xdf [videobuf2_core]
[20712.990379]  [&lt;ffffffff81043e61&gt;] kthread+0xdf/0xe7
[20712.990381]  [&lt;ffffffff81043d82&gt;] ? kthread_create_on_node+0x16d/0x16d
[20712.990384]  [&lt;ffffffff815bd46c&gt;] ret_from_fork+0x7c/0xb0
[20712.990386]  [&lt;ffffffff81043d82&gt;] ? kthread_create_on_node+0x16d/0x16d

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Reported-by: Mariusz Bialonczyk &lt;manio@skyboo.net&gt;
Tested-by: Mariusz Bialonczyk &lt;manio@skyboo.net&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>
The cx23885 driver still used sg++ instead of sg = sg_next(sg). This worked with
vb1 since that filled in the sglist manually, page-by-page, but it fails with vb2
which uses core scatterlist code that can combine contiguous scatterlist entries
into one larger entry.

This bug led to the following crash as reported by Mariusz:

[20712.990258] BUG: Bad page state in process vb2-cx23885[0]  pfn:2ca34
[20712.990265] page:ffffea00009c3b60 count:-1 mapcount:0 mapping:          (null) index:0x0
[20712.990266] flags: 0x4000000000000000()
[20712.990268] page dumped because: nonzero _count
[20712.990269] Modules linked in: tun binfmt_misc nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables xt_mark xt_REDIRECT xt_limit xt_conntrack xt_nat xt_tcpudp iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables sit ip_tunnel nvidia(PO) stb6100 stv090x cx88_dvb videobuf_dvb cx88_vp3054_i2c tuner kvm_amd kvm cx8802 k10temp cx8800 cx88xx btcx_risc videobuf_dma_sg videobuf_core usb_storage ds2490 usbhid ftdi_sio cx23885 tveeprom cx2341x videobuf2_dvb videobuf2_core videobuf2_dma_sg videobuf2_memops asus_atk0110 snd_emu10k1 snd_hwdep snd_util_mem snd_ac97_codec ac97_bus snd_rawmidi snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd w1_therm wire ipv6
[20712.990301] CPU: 2 PID: 26942 Comm: vb2-cx23885[0] Tainted: P    B   W  O   3.18.0-rc5-00001-gb3652d1 #2
[20712.990303] Hardware name: System manufacturer System Product Name/M4A785TD-V EVO, BIOS 2105    07/23/2010
[20712.990305]  ffffffff81765734 ffff880137683a78 ffffffff815b6b32 0000000000000006
[20712.990307]  ffffea00009c3b60 ffff880137683aa8 ffffffff8108ec27 ffffffff81765712
[20712.990309]  ffffffff8189c840 0000000000000246 ffffea00009c3b60 ffff880137683b78
[20712.990312] Call Trace:
[20712.990317]  [&lt;ffffffff815b6b32&gt;] dump_stack+0x46/0x58
[20712.990321]  [&lt;ffffffff8108ec27&gt;] bad_page+0xe9/0x107
[20712.990323]  [&lt;ffffffff810912ca&gt;] get_page_from_freelist+0x3b2/0x505
[20712.990326]  [&lt;ffffffff8109150a&gt;] __alloc_pages_nodemask+0xed/0x65f
[20712.990330]  [&lt;ffffffff81047a52&gt;] ? ttwu_do_activate.constprop.78+0x57/0x5c
[20712.990332]  [&lt;ffffffff81049ff3&gt;] ? try_to_wake_up+0x21b/0x22d
[20712.990336]  [&lt;ffffffff810070f4&gt;] dma_generic_alloc_coherent+0x6e/0xf5
[20712.990339]  [&lt;ffffffff810261a9&gt;] gart_alloc_coherent+0x105/0x114
[20712.990341]  [&lt;ffffffff81025963&gt;] ? flush_gart+0x39/0x3d
[20712.990343]  [&lt;ffffffff810260a4&gt;] ? gart_map_sg+0x3a0/0x3a0
[20712.990349]  [&lt;ffffffffa0141a1e&gt;] cx23885_risc_databuffer+0xa7/0x133 [cx23885]
[20712.990354]  [&lt;ffffffffa0142764&gt;] cx23885_buf_prepare+0x121/0x134 [cx23885]
[20712.990359]  [&lt;ffffffffa0144210&gt;] buffer_prepare+0x14/0x16 [cx23885]
[20712.990363]  [&lt;ffffffffa011f101&gt;] __buf_prepare+0x190/0x279 [videobuf2_core]
[20712.990366]  [&lt;ffffffffa011d906&gt;] ? vb2_queue_or_prepare_buf+0xb8/0xc0 [videobuf2_core]
[20712.990369]  [&lt;ffffffffa011f34b&gt;] vb2_internal_qbuf+0x51/0x1e5 [videobuf2_core]
[20712.990372]  [&lt;ffffffffa0120537&gt;] vb2_thread+0x199/0x1f6 [videobuf2_core]
[20712.990376]  [&lt;ffffffffa012039e&gt;] ? vb2_fop_write+0xdf/0xdf [videobuf2_core]
[20712.990379]  [&lt;ffffffff81043e61&gt;] kthread+0xdf/0xe7
[20712.990381]  [&lt;ffffffff81043d82&gt;] ? kthread_create_on_node+0x16d/0x16d
[20712.990384]  [&lt;ffffffff815bd46c&gt;] ret_from_fork+0x7c/0xb0
[20712.990386]  [&lt;ffffffff81043d82&gt;] ? kthread_create_on_node+0x16d/0x16d

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Reported-by: Mariusz Bialonczyk &lt;manio@skyboo.net&gt;
Tested-by: Mariusz Bialonczyk &lt;manio@skyboo.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
