<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/media, branch v3.2.91</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>dvb-usb-firmware: don't do DMA on stack</title>
<updated>2017-07-18T17:38:31+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2017-02-12T15:02:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=09a35388674766254ece34cbfbbf71afae852745'/>
<id>09a35388674766254ece34cbfbbf71afae852745</id>
<content type='text'>
commit 67b0503db9c29b04eadfeede6bebbfe5ddad94ef upstream.

The buffer allocation for the firmware data was changed in
commit 43fab9793c1f ("[media] dvb-usb: don't use stack for firmware load")
but the same applies for the reset value.

Fixes: 43fab9793c1f ("[media] dvb-usb: don't use stack for firmware load")
Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 67b0503db9c29b04eadfeede6bebbfe5ddad94ef upstream.

The buffer allocation for the firmware data was changed in
commit 43fab9793c1f ("[media] dvb-usb: don't use stack for firmware load")
but the same applies for the reset value.

Fixes: 43fab9793c1f ("[media] dvb-usb: don't use stack for firmware load")
Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dvb-usb: don't use stack for firmware load</title>
<updated>2017-07-18T17:38:31+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@s-opensource.com</email>
</author>
<published>2017-01-24T10:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b9a5489557c98f8fbd8a50d55dae2ed6d6599908'/>
<id>b9a5489557c98f8fbd8a50d55dae2ed6d6599908</id>
<content type='text'>
commit 43fab9793c1f44e665b4f98035a14942edf03ddc upstream.

As reported by Marc Duponcheel &lt;marc@offline.be&gt;, firmware load on
dvb-usb is using the stack, with is not allowed anymore on default
Kernel configurations:

[ 1025.958836] dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware
[ 1025.958853] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
[ 1025.958855] dvb-usb: could not stop the USB controller CPU.
[ 1025.958856] dvb-usb: error while transferring firmware (transferred size: -11, block size: 3)
[ 1025.958856] dvb-usb: firmware download failed at 8 with -22
[ 1025.958867] usbcore: registered new interface driver dvb_usb_dtt200u

[    2.789902] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
[    2.789905] ------------[ cut here ]------------
[    2.789911] WARNING: CPU: 3 PID: 2196 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
[    2.789912] transfer buffer not dma capable
[    2.789912] Modules linked in: btusb dvb_usb_dtt200u(+) dvb_usb_af9035(+) btrtl btbcm dvb_usb dvb_usb_v2 btintel dvb_core bluetooth rc_core rfkill x86_pkg_temp_thermal intel_powerclamp coretemp crc32_pclmul aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd drm_kms_helper syscopyarea sysfillrect pcspkr i2c_i801 sysimgblt fb_sys_fops drm i2c_smbus i2c_core r8169 lpc_ich mfd_core mii thermal fan rtc_cmos video button acpi_cpufreq processor snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd crc32c_intel ahci libahci libata xhci_pci ehci_pci xhci_hcd ehci_hcd usbcore usb_common dm_mirror dm_region_hash dm_log dm_mod
[    2.789936] CPU: 3 PID: 2196 Comm: systemd-udevd Not tainted 4.9.0-gentoo #1
[    2.789937] Hardware name: ASUS All Series/H81I-PLUS, BIOS 0401 07/23/2013
[    2.789938]  ffffc9000339b690 ffffffff812bd397 ffffc9000339b6e0 0000000000000000
[    2.789939]  ffffc9000339b6d0 ffffffff81055c86 000006300339b6a0 ffff880116c0c000
[    2.789941]  0000000000000000 0000000000000000 0000000000000001 ffff880116c08000
[    2.789942] Call Trace:
[    2.789945]  [&lt;ffffffff812bd397&gt;] dump_stack+0x4d/0x66
[    2.789947]  [&lt;ffffffff81055c86&gt;] __warn+0xc6/0xe0
[    2.789948]  [&lt;ffffffff81055cea&gt;] warn_slowpath_fmt+0x4a/0x50
[    2.789952]  [&lt;ffffffffa006d460&gt;] usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
[    2.789954]  [&lt;ffffffff814ed5a8&gt;] ? io_schedule_timeout+0xd8/0x110
[    2.789956]  [&lt;ffffffffa006e09c&gt;] usb_hcd_submit_urb+0x9c/0x980 [usbcore]
[    2.789958]  [&lt;ffffffff812d0ebf&gt;] ? copy_page_to_iter+0x14f/0x2b0
[    2.789960]  [&lt;ffffffff81126818&gt;] ? pagecache_get_page+0x28/0x240
[    2.789962]  [&lt;ffffffff8118c2a0&gt;] ? touch_atime+0x20/0xa0
[    2.789964]  [&lt;ffffffffa006f7c4&gt;] usb_submit_urb+0x2c4/0x520 [usbcore]
[    2.789967]  [&lt;ffffffffa006feca&gt;] usb_start_wait_urb+0x5a/0xe0 [usbcore]
[    2.789969]  [&lt;ffffffffa007000c&gt;] usb_control_msg+0xbc/0xf0 [usbcore]
[    2.789970]  [&lt;ffffffffa067903d&gt;] usb_cypress_writemem+0x3d/0x40 [dvb_usb]
[    2.789972]  [&lt;ffffffffa06791cf&gt;] usb_cypress_load_firmware+0x4f/0x130 [dvb_usb]
[    2.789973]  [&lt;ffffffff8109dbbe&gt;] ? console_unlock+0x2fe/0x5d0
[    2.789974]  [&lt;ffffffff8109e10c&gt;] ? vprintk_emit+0x27c/0x410
[    2.789975]  [&lt;ffffffff8109e40a&gt;] ? vprintk_default+0x1a/0x20
[    2.789976]  [&lt;ffffffff81124d76&gt;] ? printk+0x43/0x4b
[    2.789977]  [&lt;ffffffffa0679310&gt;] dvb_usb_download_firmware+0x60/0xd0 [dvb_usb]
[    2.789979]  [&lt;ffffffffa0679898&gt;] dvb_usb_device_init+0x3d8/0x610 [dvb_usb]
[    2.789981]  [&lt;ffffffffa069e302&gt;] dtt200u_usb_probe+0x92/0xd0 [dvb_usb_dtt200u]
[    2.789984]  [&lt;ffffffffa007420c&gt;] usb_probe_interface+0xfc/0x270 [usbcore]
[    2.789985]  [&lt;ffffffff8138bf95&gt;] driver_probe_device+0x215/0x2d0
[    2.789986]  [&lt;ffffffff8138c0e6&gt;] __driver_attach+0x96/0xa0
[    2.789987]  [&lt;ffffffff8138c050&gt;] ? driver_probe_device+0x2d0/0x2d0
[    2.789988]  [&lt;ffffffff81389ffb&gt;] bus_for_each_dev+0x5b/0x90
[    2.789989]  [&lt;ffffffff8138b7b9&gt;] driver_attach+0x19/0x20
[    2.789990]  [&lt;ffffffff8138b33c&gt;] bus_add_driver+0x11c/0x220
[    2.789991]  [&lt;ffffffff8138c91b&gt;] driver_register+0x5b/0xd0
[    2.789994]  [&lt;ffffffffa0072f6c&gt;] usb_register_driver+0x7c/0x130 [usbcore]
[    2.789994]  [&lt;ffffffffa06a5000&gt;] ? 0xffffffffa06a5000
[    2.789996]  [&lt;ffffffffa06a501e&gt;] dtt200u_usb_driver_init+0x1e/0x20 [dvb_usb_dtt200u]
[    2.789997]  [&lt;ffffffff81000408&gt;] do_one_initcall+0x38/0x140
[    2.789998]  [&lt;ffffffff8116001c&gt;] ? __vunmap+0x7c/0xc0
[    2.789999]  [&lt;ffffffff81124fb0&gt;] ? do_init_module+0x22/0x1d2
[    2.790000]  [&lt;ffffffff81124fe8&gt;] do_init_module+0x5a/0x1d2
[    2.790002]  [&lt;ffffffff810c96b1&gt;] load_module+0x1e11/0x2580
[    2.790003]  [&lt;ffffffff810c68b0&gt;] ? show_taint+0x30/0x30
[    2.790004]  [&lt;ffffffff81177250&gt;] ? kernel_read_file+0x100/0x190
[    2.790005]  [&lt;ffffffff810c9ffa&gt;] SyS_finit_module+0xba/0xc0
[    2.790007]  [&lt;ffffffff814f13e0&gt;] entry_SYSCALL_64_fastpath+0x13/0x94
[    2.790008] ---[ end trace c78a74e78baec6fc ]---

So, allocate the structure dynamically.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 43fab9793c1f44e665b4f98035a14942edf03ddc upstream.

As reported by Marc Duponcheel &lt;marc@offline.be&gt;, firmware load on
dvb-usb is using the stack, with is not allowed anymore on default
Kernel configurations:

[ 1025.958836] dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware
[ 1025.958853] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
[ 1025.958855] dvb-usb: could not stop the USB controller CPU.
[ 1025.958856] dvb-usb: error while transferring firmware (transferred size: -11, block size: 3)
[ 1025.958856] dvb-usb: firmware download failed at 8 with -22
[ 1025.958867] usbcore: registered new interface driver dvb_usb_dtt200u

[    2.789902] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
[    2.789905] ------------[ cut here ]------------
[    2.789911] WARNING: CPU: 3 PID: 2196 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
[    2.789912] transfer buffer not dma capable
[    2.789912] Modules linked in: btusb dvb_usb_dtt200u(+) dvb_usb_af9035(+) btrtl btbcm dvb_usb dvb_usb_v2 btintel dvb_core bluetooth rc_core rfkill x86_pkg_temp_thermal intel_powerclamp coretemp crc32_pclmul aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd drm_kms_helper syscopyarea sysfillrect pcspkr i2c_i801 sysimgblt fb_sys_fops drm i2c_smbus i2c_core r8169 lpc_ich mfd_core mii thermal fan rtc_cmos video button acpi_cpufreq processor snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd crc32c_intel ahci libahci libata xhci_pci ehci_pci xhci_hcd ehci_hcd usbcore usb_common dm_mirror dm_region_hash dm_log dm_mod
[    2.789936] CPU: 3 PID: 2196 Comm: systemd-udevd Not tainted 4.9.0-gentoo #1
[    2.789937] Hardware name: ASUS All Series/H81I-PLUS, BIOS 0401 07/23/2013
[    2.789938]  ffffc9000339b690 ffffffff812bd397 ffffc9000339b6e0 0000000000000000
[    2.789939]  ffffc9000339b6d0 ffffffff81055c86 000006300339b6a0 ffff880116c0c000
[    2.789941]  0000000000000000 0000000000000000 0000000000000001 ffff880116c08000
[    2.789942] Call Trace:
[    2.789945]  [&lt;ffffffff812bd397&gt;] dump_stack+0x4d/0x66
[    2.789947]  [&lt;ffffffff81055c86&gt;] __warn+0xc6/0xe0
[    2.789948]  [&lt;ffffffff81055cea&gt;] warn_slowpath_fmt+0x4a/0x50
[    2.789952]  [&lt;ffffffffa006d460&gt;] usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
[    2.789954]  [&lt;ffffffff814ed5a8&gt;] ? io_schedule_timeout+0xd8/0x110
[    2.789956]  [&lt;ffffffffa006e09c&gt;] usb_hcd_submit_urb+0x9c/0x980 [usbcore]
[    2.789958]  [&lt;ffffffff812d0ebf&gt;] ? copy_page_to_iter+0x14f/0x2b0
[    2.789960]  [&lt;ffffffff81126818&gt;] ? pagecache_get_page+0x28/0x240
[    2.789962]  [&lt;ffffffff8118c2a0&gt;] ? touch_atime+0x20/0xa0
[    2.789964]  [&lt;ffffffffa006f7c4&gt;] usb_submit_urb+0x2c4/0x520 [usbcore]
[    2.789967]  [&lt;ffffffffa006feca&gt;] usb_start_wait_urb+0x5a/0xe0 [usbcore]
[    2.789969]  [&lt;ffffffffa007000c&gt;] usb_control_msg+0xbc/0xf0 [usbcore]
[    2.789970]  [&lt;ffffffffa067903d&gt;] usb_cypress_writemem+0x3d/0x40 [dvb_usb]
[    2.789972]  [&lt;ffffffffa06791cf&gt;] usb_cypress_load_firmware+0x4f/0x130 [dvb_usb]
[    2.789973]  [&lt;ffffffff8109dbbe&gt;] ? console_unlock+0x2fe/0x5d0
[    2.789974]  [&lt;ffffffff8109e10c&gt;] ? vprintk_emit+0x27c/0x410
[    2.789975]  [&lt;ffffffff8109e40a&gt;] ? vprintk_default+0x1a/0x20
[    2.789976]  [&lt;ffffffff81124d76&gt;] ? printk+0x43/0x4b
[    2.789977]  [&lt;ffffffffa0679310&gt;] dvb_usb_download_firmware+0x60/0xd0 [dvb_usb]
[    2.789979]  [&lt;ffffffffa0679898&gt;] dvb_usb_device_init+0x3d8/0x610 [dvb_usb]
[    2.789981]  [&lt;ffffffffa069e302&gt;] dtt200u_usb_probe+0x92/0xd0 [dvb_usb_dtt200u]
[    2.789984]  [&lt;ffffffffa007420c&gt;] usb_probe_interface+0xfc/0x270 [usbcore]
[    2.789985]  [&lt;ffffffff8138bf95&gt;] driver_probe_device+0x215/0x2d0
[    2.789986]  [&lt;ffffffff8138c0e6&gt;] __driver_attach+0x96/0xa0
[    2.789987]  [&lt;ffffffff8138c050&gt;] ? driver_probe_device+0x2d0/0x2d0
[    2.789988]  [&lt;ffffffff81389ffb&gt;] bus_for_each_dev+0x5b/0x90
[    2.789989]  [&lt;ffffffff8138b7b9&gt;] driver_attach+0x19/0x20
[    2.789990]  [&lt;ffffffff8138b33c&gt;] bus_add_driver+0x11c/0x220
[    2.789991]  [&lt;ffffffff8138c91b&gt;] driver_register+0x5b/0xd0
[    2.789994]  [&lt;ffffffffa0072f6c&gt;] usb_register_driver+0x7c/0x130 [usbcore]
[    2.789994]  [&lt;ffffffffa06a5000&gt;] ? 0xffffffffa06a5000
[    2.789996]  [&lt;ffffffffa06a501e&gt;] dtt200u_usb_driver_init+0x1e/0x20 [dvb_usb_dtt200u]
[    2.789997]  [&lt;ffffffff81000408&gt;] do_one_initcall+0x38/0x140
[    2.789998]  [&lt;ffffffff8116001c&gt;] ? __vunmap+0x7c/0xc0
[    2.789999]  [&lt;ffffffff81124fb0&gt;] ? do_init_module+0x22/0x1d2
[    2.790000]  [&lt;ffffffff81124fe8&gt;] do_init_module+0x5a/0x1d2
[    2.790002]  [&lt;ffffffff810c96b1&gt;] load_module+0x1e11/0x2580
[    2.790003]  [&lt;ffffffff810c68b0&gt;] ? show_taint+0x30/0x30
[    2.790004]  [&lt;ffffffff81177250&gt;] ? kernel_read_file+0x100/0x190
[    2.790005]  [&lt;ffffffff810c9ffa&gt;] SyS_finit_module+0xba/0xc0
[    2.790007]  [&lt;ffffffff814f13e0&gt;] entry_SYSCALL_64_fastpath+0x13/0x94
[    2.790008] ---[ end trace c78a74e78baec6fc ]---

So, allocate the structure dynamically.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: fix dm1105.c build error</title>
<updated>2017-06-05T20:13:45+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2017-01-08T01:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6e6fb360d9b9741c1a063e6659760e4dc4c056be'/>
<id>6e6fb360d9b9741c1a063e6659760e4dc4c056be</id>
<content type='text'>
commit e3bb3cddd177550d63a3e4909cf1a7782f13414d upstream.

Fix dm1105 build error when CONFIG_I2C_ALGOBIT=m and
CONFIG_DVB_DM1105=y.

drivers/built-in.o: In function `dm1105_probe':
dm1105.c:(.text+0x2836e7): undefined reference to `i2c_bit_add_bus'

Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Cc: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e3bb3cddd177550d63a3e4909cf1a7782f13414d upstream.

Fix dm1105 build error when CONFIG_I2C_ALGOBIT=m and
CONFIG_DVB_DM1105=y.

drivers/built-in.o: In function `dm1105_probe':
dm1105.c:(.text+0x2836e7): undefined reference to `i2c_bit_add_bus'

Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Cc: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>siano: make it work again with CONFIG_VMAP_STACK</title>
<updated>2017-03-16T02:18:50+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@s-opensource.com</email>
</author>
<published>2017-02-14T19:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f606625da3b0a360a61e730a3dd85a0c576ebb3a'/>
<id>f606625da3b0a360a61e730a3dd85a0c576ebb3a</id>
<content type='text'>
commit f9c85ee67164b37f9296eab3b754e543e4e96a1c upstream.

Reported as a Kaffeine bug:
	https://bugs.kde.org/show_bug.cgi?id=375811

The USB control messages require DMA to work. We cannot pass
a stack-allocated buffer, as it is not warranted that the
stack would be into a DMA enabled area.

On Kernel 4.9, the default is to not accept DMA on stack anymore
on x86 architecture. On other architectures, this has been a
requirement since Kernel 2.2. So, after this patch, this driver
should likely work fine on all archs.

Tested with USB ID 2040:5510: Hauppauge Windham

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2:
 - s/sms_msg_hdr/SmsMsgHdr_ST/
 - Adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f9c85ee67164b37f9296eab3b754e543e4e96a1c upstream.

Reported as a Kaffeine bug:
	https://bugs.kde.org/show_bug.cgi?id=375811

The USB control messages require DMA to work. We cannot pass
a stack-allocated buffer, as it is not warranted that the
stack would be into a DMA enabled area.

On Kernel 4.9, the default is to not accept DMA on stack anymore
on x86 architecture. On other architectures, this has been a
requirement since Kernel 2.2. So, after this patch, this driver
should likely work fine on all archs.

Tested with USB ID 2040:5510: Hauppauge Windham

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2:
 - s/sms_msg_hdr/SmsMsgHdr_ST/
 - Adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DaVinci-VPFE-Capture: fix error handling</title>
<updated>2017-03-16T02:18:27+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2016-11-22T20:52:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f7f295391559ca38fb1761ccf5818fd55aea71b7'/>
<id>f7f295391559ca38fb1761ccf5818fd55aea71b7</id>
<content type='text'>
commit d3d83ee20afda16ad0133ba00f63c11a8d842a35 upstream.

A recent cleanup had the right idea to remove the initialization
of the error variable, but missed the actual benefit of that,
which is that we get warnings if there is a bug in it. Now
we get a warning about a bug that was introduced by this cleanup:

drivers/media/platform/davinci/vpfe_capture.c: In function 'vpfe_probe':
drivers/media/platform/davinci/vpfe_capture.c:1992:9: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]

This adds the missing initialization that the warning is about,
and another one that was preexisting and that we did not get
a warning for. That second bug has existed since the driver
was first added.

Fixes: efb74461f5a6 ("[media] DaVinci-VPFE-Capture: Delete an unnecessary variable initialisation in vpfe_probe()")
Fixes: 7da8a6cb3e5b ("V4L/DVB (12248): v4l: vpfe capture bridge driver for DM355 and DM6446")

[mchehab@s-opensource.com: fix a merge conflict]
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d3d83ee20afda16ad0133ba00f63c11a8d842a35 upstream.

A recent cleanup had the right idea to remove the initialization
of the error variable, but missed the actual benefit of that,
which is that we get warnings if there is a bug in it. Now
we get a warning about a bug that was introduced by this cleanup:

drivers/media/platform/davinci/vpfe_capture.c: In function 'vpfe_probe':
drivers/media/platform/davinci/vpfe_capture.c:1992:9: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]

This adds the missing initialization that the warning is about,
and another one that was preexisting and that we did not get
a warning for. That second bug has existed since the driver
was first added.

Fixes: efb74461f5a6 ("[media] DaVinci-VPFE-Capture: Delete an unnecessary variable initialisation in vpfe_probe()")
Fixes: 7da8a6cb3e5b ("V4L/DVB (12248): v4l: vpfe capture bridge driver for DM355 and DM6446")

[mchehab@s-opensource.com: fix a merge conflict]
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ite-cir: initialize use_demodulator before using it</title>
<updated>2017-03-16T02:18:23+00:00</updated>
<author>
<name>Nicolas Iooss</name>
<email>nicolas.iooss_linux@m4x.org</email>
</author>
<published>2016-09-10T16:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=81e286423efb1e92838ee1a5bf03294e99371a5d'/>
<id>81e286423efb1e92838ee1a5bf03294e99371a5d</id>
<content type='text'>
commit 7ec03e60ef81c19b5d3a46dd070ee966774b860f upstream.

Function ite_set_carrier_params() uses variable use_demodulator after
having initialized it to false in some if branches, but this variable is
never set to true otherwise.

This bug has been found using clang -Wsometimes-uninitialized warning
flag.

Fixes: 620a32bba4a2 ("[media] rc: New rc-based ite-cir driver for
several ITE CIRs")

Signed-off-by: Nicolas Iooss &lt;nicolas.iooss_linux@m4x.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7ec03e60ef81c19b5d3a46dd070ee966774b860f upstream.

Function ite_set_carrier_params() uses variable use_demodulator after
having initialized it to false in some if branches, but this variable is
never set to true otherwise.

This bug has been found using clang -Wsometimes-uninitialized warning
flag.

Fixes: 620a32bba4a2 ("[media] rc: New rc-based ite-cir driver for
several ITE CIRs")

Signed-off-by: Nicolas Iooss &lt;nicolas.iooss_linux@m4x.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: info leak in __media_device_enum_links()</title>
<updated>2017-02-23T03:51:03+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-04-13T09:32:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f43c83348acdbdd8ca1af3c52f6ace629f5b386d'/>
<id>f43c83348acdbdd8ca1af3c52f6ace629f5b386d</id>
<content type='text'>
commit c88e739b1fad662240e99ecbd0bdaac871717987 upstream.

These structs have holes and reserved struct members which aren't
cleared.  I've added a memset() so we don't leak stack information.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c88e739b1fad662240e99ecbd0bdaac871717987 upstream.

These structs have holes and reserved struct members which aren't
cleared.  I've added a memset() so we don't leak stack information.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dib0700: fix nec repeat handling</title>
<updated>2017-02-23T03:51:00+00:00</updated>
<author>
<name>Sean Young</name>
<email>sean@mess.org</email>
</author>
<published>2016-11-10T16:44:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a1aa5ae641b2c7a8d7aa523754c18ebe219a20d0'/>
<id>a1aa5ae641b2c7a8d7aa523754c18ebe219a20d0</id>
<content type='text'>
commit ba13e98f2cebd55a3744c5ffaa08f9dca73bf521 upstream.

When receiving a nec repeat, ensure the correct scancode is repeated
rather than a random value from the stack.  This removes the need for
the bogus uninitialized_var() and also fixes the warnings:

    drivers/media/usb/dvb-usb/dib0700_core.c: In function ‘dib0700_rc_urb_completion’:
    drivers/media/usb/dvb-usb/dib0700_core.c:679: warning: ‘protocol’ may be used uninitialized in this function

[sean addon: So after writing the patch and submitting it, I've bought the
             hardware on ebay. Without this patch you get random scancodes
             on nec repeats, which the patch indeed fixes.]

Signed-off-by: Sean Young &lt;sean@mess.org&gt;
Tested-by: Sean Young &lt;sean@mess.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ba13e98f2cebd55a3744c5ffaa08f9dca73bf521 upstream.

When receiving a nec repeat, ensure the correct scancode is repeated
rather than a random value from the stack.  This removes the need for
the bogus uninitialized_var() and also fixes the warnings:

    drivers/media/usb/dvb-usb/dib0700_core.c: In function ‘dib0700_rc_urb_completion’:
    drivers/media/usb/dvb-usb/dib0700_core.c:679: warning: ‘protocol’ may be used uninitialized in this function

[sean addon: So after writing the patch and submitting it, I've bought the
             hardware on ebay. Without this patch you get random scancodes
             on nec repeats, which the patch indeed fixes.]

Signed-off-by: Sean Young &lt;sean@mess.org&gt;
Tested-by: Sean Young &lt;sean@mess.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cx231xx: fix GPIOs for Pixelview SBTVD hybrid</title>
<updated>2017-02-23T03:50:49+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2016-09-04T13:06:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e5ff0240699d56229baa39f95a1b392c5b79a24d'/>
<id>e5ff0240699d56229baa39f95a1b392c5b79a24d</id>
<content type='text'>
commit 24b923f073ac37eb744f56a2c7f77107b8219ab2 upstream.

This device uses GPIOs: 28 to switch between analog and
digital modes: on digital mode, it should be set to 1.

The code that sets it on analog mode is OK, but it misses
the logic that sets it on digital mode.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filenames]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 24b923f073ac37eb744f56a2c7f77107b8219ab2 upstream.

This device uses GPIOs: 28 to switch between analog and
digital modes: on digital mode, it should be set to 1.

The code that sets it on analog mode is OK, but it misses
the logic that sets it on digital mode.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filenames]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cx231xx: don't return error on success</title>
<updated>2017-02-23T03:50:49+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2016-09-04T12:56:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6f337c5b412c4cc63faeb065b5ad78c087c9fa14'/>
<id>6f337c5b412c4cc63faeb065b5ad78c087c9fa14</id>
<content type='text'>
commit 1871d718a9db649b70f0929d2778dc01bc49b286 upstream.

The cx231xx_set_agc_analog_digital_mux_select() callers
expect it to return 0 or an error. Returning a positive value
makes the first attempt to switch between analog/digital to fail.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1871d718a9db649b70f0929d2778dc01bc49b286 upstream.

The cx231xx_set_agc_analog_digital_mux_select() callers
expect it to return 0 or an error. Returning a positive value
makes the first attempt to switch between analog/digital to fail.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
