cron job: media_tree daily build: ERRORS

2017-04-23 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:   Mon Apr 24 05:00:16 CEST 2017
media-tree git hash:9eb9db3a0f92b75ec710066202e0b2accb45afa9
media_build git hash:   1af19680bde3e227d64d99ff5fdc43eb343a3b28
v4l-utils git hash: b514d615166bdc0901a4c71261b87db31e89f464
gcc version:i686-linux-gcc (GCC) 6.2.0
sparse version: v0.5.0-3553-g78b2ea6
smatch version: v0.5.0-3553-g78b2ea6
host hardware:  x86_64
host os:4.9.0-164

linux-git-arm-at91: OK
linux-git-arm-davinci: OK
linux-git-arm-multi: OK
linux-git-arm-pxa: OK
linux-git-blackfin-bf561: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: OK
linux-git-powerpc64: OK
linux-git-sh: OK
linux-git-x86_64: OK
linux-2.6.36.4-i686: ERRORS
linux-2.6.37.6-i686: ERRORS
linux-2.6.38.8-i686: ERRORS
linux-2.6.39.4-i686: ERRORS
linux-3.0.60-i686: ERRORS
linux-3.1.10-i686: ERRORS
linux-3.2.37-i686: OK
linux-3.3.8-i686: OK
linux-3.4.27-i686: OK
linux-3.5.7-i686: OK
linux-3.6.11-i686: OK
linux-3.7.4-i686: OK
linux-3.8-i686: OK
linux-3.9.2-i686: OK
linux-3.10.1-i686: WARNINGS
linux-3.11.1-i686: ERRORS
linux-3.12.67-i686: ERRORS
linux-3.13.11-i686: ERRORS
linux-3.14.9-i686: WARNINGS
linux-3.15.2-i686: WARNINGS
linux-3.16.7-i686: WARNINGS
linux-3.17.8-i686: WARNINGS
linux-3.18.7-i686: WARNINGS
linux-3.19-i686: WARNINGS
linux-4.0.9-i686: WARNINGS
linux-4.1.33-i686: WARNINGS
linux-4.2.8-i686: WARNINGS
linux-4.3.6-i686: WARNINGS
linux-4.4.22-i686: WARNINGS
linux-4.5.7-i686: WARNINGS
linux-4.6.7-i686: WARNINGS
linux-4.7.5-i686: WARNINGS
linux-4.8-i686: OK
linux-4.9-i686: OK
linux-4.10.1-i686: OK
linux-4.11-rc1-i686: OK
linux-2.6.36.4-x86_64: ERRORS
linux-2.6.37.6-x86_64: ERRORS
linux-2.6.38.8-x86_64: ERRORS
linux-2.6.39.4-x86_64: ERRORS
linux-3.0.60-x86_64: ERRORS
linux-3.1.10-x86_64: ERRORS
linux-3.2.37-x86_64: OK
linux-3.3.8-x86_64: OK
linux-3.4.27-x86_64: OK
linux-3.5.7-x86_64: OK
linux-3.6.11-x86_64: OK
linux-3.7.4-x86_64: OK
linux-3.8-x86_64: OK
linux-3.9.2-x86_64: OK
linux-3.10.1-x86_64: WARNINGS
linux-3.11.1-x86_64: ERRORS
linux-3.12.67-x86_64: ERRORS
linux-3.13.11-x86_64: ERRORS
linux-3.14.9-x86_64: WARNINGS
linux-3.15.2-x86_64: WARNINGS
linux-3.16.7-x86_64: WARNINGS
linux-3.17.8-x86_64: WARNINGS
linux-3.18.7-x86_64: WARNINGS
linux-3.19-x86_64: WARNINGS
linux-4.0.9-x86_64: WARNINGS
linux-4.1.33-x86_64: WARNINGS
linux-4.2.8-x86_64: WARNINGS
linux-4.3.6-x86_64: WARNINGS
linux-4.4.22-x86_64: WARNINGS
linux-4.5.7-x86_64: WARNINGS
linux-4.6.7-x86_64: WARNINGS
linux-4.7.5-x86_64: WARNINGS
linux-4.8-x86_64: WARNINGS
linux-4.9-x86_64: WARNINGS
linux-4.10.1-x86_64: WARNINGS
linux-4.11-rc1-x86_64: OK
apps: WARNINGS
spec-git: OK
sparse: WARNINGS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Monday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2

The Media Infrastructure API from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/index.html


[PATCH] V4L2 SDR: Add Real U8 format (V4L2_SDR_FMT_RU8)

2017-04-23 Thread Bertold Van den Bergh
This patch adds support for the Real U8 format to the V4L2 SDR framework.
This will be used for a piece of hardware we are developing.

Signed-off-by: Bertold Van den Bergh 
---
 drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
 include/uapi/linux/videodev2.h   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c 
b/drivers/media/v4l2-core/v4l2-ioctl.c
index e5a2187..8b6e097 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1229,6 +1229,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_SDR_FMT_CS8:  descr = "Complex S8"; break;
case V4L2_SDR_FMT_CS14LE:   descr = "Complex S14LE"; break;
case V4L2_SDR_FMT_RU12LE:   descr = "Real U12LE"; break;
+   case V4L2_SDR_FMT_RU8:  descr = "Real U8"; break;
case V4L2_TCH_FMT_DELTA_TD16:   descr = "16-bit signed deltas"; break;
case V4L2_TCH_FMT_DELTA_TD08:   descr = "8-bit signed deltas"; break;
case V4L2_TCH_FMT_TU16: descr = "16-bit unsigned touch data"; 
break;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 2b8feb8..50c3ef4 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -669,6 +669,7 @@ struct v4l2_pix_format {
 #define V4L2_SDR_FMT_CS8  v4l2_fourcc('C', 'S', '0', '8') /* complex 
s8 */
 #define V4L2_SDR_FMT_CS14LE   v4l2_fourcc('C', 'S', '1', '4') /* complex 
s14le */
 #define V4L2_SDR_FMT_RU12LE   v4l2_fourcc('R', 'U', '1', '2') /* real 
u12le */
+#define V4L2_SDR_FMT_RU8  v4l2_fourcc('R', 'U', '0', '8') /* real u8 */
 
 /* Touch formats - used for Touch devices */
 #define V4L2_TCH_FMT_DELTA_TD16v4l2_fourcc('T', 'D', '1', '6') /* 
16-bit signed deltas */
-- 
1.9.1



[linux-next:master 10537/11560] drivers/media//i2c/ov2640.c:744: warning: unused variable 'priv'

2017-04-23 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   26e01a6fde2542bb020aa303787f8a57c49f5f37
commit: a463ea990d2138ca93027b006be96a0324b77fe4 [10537/11560] [media] ov2640: 
make GPIOLIB an optional dependency
config: x86_64-randconfig-s1-04240509 (attached as .config)
compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
reproduce:
git checkout a463ea990d2138ca93027b006be96a0324b77fe4
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/media//i2c/ov2640.c: In function 'ov2640_s_power':
>> drivers/media//i2c/ov2640.c:744: warning: unused variable 'priv'

vim +/priv +744 drivers/media//i2c/ov2640.c

3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  728  static int ov2640_s_register(struct v4l2_subdev *sd,
977ba3b1b drivers/media/i2c/soc_camera/ov2640.c Hans Verkuil  
2013-03-24  729const struct v4l2_dbg_register *reg)
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  730  {
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  731   struct i2c_client *client = v4l2_get_subdevdata(sd);
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  732  
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  733   if (reg->reg > 0xff ||
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  734   reg->val > 0xff)
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  735   return -EINVAL;
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  736  
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  737   return i2c_smbus_write_byte_data(client, reg->reg, reg->val);
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  738  }
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  739  #endif
3153ac9c6 drivers/media/video/ov2640.c  Alberto Panizzo   
2010-12-02  740  
4ec10bacd drivers/media/i2c/soc_camera/ov2640.c Laurent Pinchart  
2012-07-20  741  static int ov2640_s_power(struct v4l2_subdev *sd, int on)
4ec10bacd drivers/media/i2c/soc_camera/ov2640.c Laurent Pinchart  
2012-07-20  742  {
4ec10bacd drivers/media/i2c/soc_camera/ov2640.c Laurent Pinchart  
2012-07-20  743   struct i2c_client *client = v4l2_get_subdevdata(sd);
9aea470b3 drivers/media/i2c/soc_camera/ov2640.c Guennadi Liakhovetski 
2012-12-21 @744   struct ov2640_priv *priv = to_ov2640(client);
4ec10bacd drivers/media/i2c/soc_camera/ov2640.c Laurent Pinchart  
2012-07-20  745  
a463ea990 drivers/media/i2c/ov2640.cMauro Carvalho Chehab 
2017-04-19  746  #ifdef CONFIG_GPIOLIB
a463ea990 drivers/media/i2c/ov2640.cMauro Carvalho Chehab 
2017-04-19  747   if (priv->pwdn_gpio)
34aa88790 drivers/media/i2c/ov2640.cHans Verkuil  
2016-11-22  748   gpiod_direction_output(priv->pwdn_gpio, !on);
34aa88790 drivers/media/i2c/ov2640.cHans Verkuil  
2016-11-22  749   if (on && priv->resetb_gpio) {
34aa88790 drivers/media/i2c/ov2640.cHans Verkuil  
2016-11-22  750   /* Active the resetb pin to perform a reset pulse */
34aa88790 drivers/media/i2c/ov2640.cHans Verkuil  
2016-11-22  751   gpiod_direction_output(priv->resetb_gpio, 1);
34aa88790 drivers/media/i2c/ov2640.cHans Verkuil  
2016-11-22  752   usleep_range(3000, 5000);

:: The code at line 744 was first introduced by commit
:: 9aea470b399d797e88be08985c489855759c6c60 [media] soc-camera: switch I2C 
subdevice drivers to use v4l2-clk

:: TO: Guennadi Liakhovetski 
:: CC: Mauro Carvalho Chehab 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip


[PATCH 1/2] [media] vb2: Fix an off by one error in 'vb2_plane_vaddr'

2017-04-23 Thread Christophe JAILLET
We should ensure that 'plane_no' is '< vb->num_planes' as done in
'vb2_plane_cookie' just a few lines below.

Signed-off-by: Christophe JAILLET 
---
 drivers/media/v4l2-core/videobuf2-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
b/drivers/media/v4l2-core/videobuf2-core.c
index 94afbbf92807..c0175ea7e7ad 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -868,7 +868,7 @@ EXPORT_SYMBOL_GPL(vb2_core_create_bufs);
 
 void *vb2_plane_vaddr(struct vb2_buffer *vb, unsigned int plane_no)
 {
-   if (plane_no > vb->num_planes || !vb->planes[plane_no].mem_priv)
+   if (plane_no >= vb->num_planes || !vb->planes[plane_no].mem_priv)
return NULL;
 
return call_ptr_memop(vb, vaddr, vb->planes[plane_no].mem_priv);
-- 
2.11.0



[PATCH 2/2] [media] vb2: Fix error handling in '__vb2_buf_mem_alloc'

2017-04-23 Thread Christophe JAILLET
'call_ptr_memop' can return NULL, so we must test its return value with
'IS_ERR_OR_NULL'. Otherwise, the test 'if (mem_priv)' is meaningless.

Signed-off-by: Christophe JAILLET 
---
Note that error checking after 'call_ptr_memop' calls is not consistent
in this file. I guess that 'IS_ERR_OR_NULL' should be used everywhere
and that the corresponding error handling code should be tweaked just as
the code in this function.
---
 drivers/media/v4l2-core/videobuf2-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
b/drivers/media/v4l2-core/videobuf2-core.c
index c0175ea7e7ad..d1d3f5dd57b9 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -210,7 +210,7 @@ static int __vb2_buf_mem_alloc(struct vb2_buffer *vb)
mem_priv = call_ptr_memop(vb, alloc,
q->alloc_devs[plane] ? : q->dev,
q->dma_attrs, size, dma_dir, q->gfp_flags);
-   if (IS_ERR(mem_priv)) {
+   if (IS_ERR_OR_NULL(mem_priv)) {
if (mem_priv)
ret = PTR_ERR(mem_priv);
goto free;
-- 
2.11.0



[PATCH 1/1] [media] cx25840: fix unchecked return values

2017-04-23 Thread Pan Bian
From: Pan Bian 

In functions cx25840_initialize(), cx231xx_initialize(), and
cx23885_initialize(), the return value of create_singlethread_workqueue()
is used without validation. This may result in NULL dereference and cause
kernel crash. This patch fixes it.

Signed-off-by: Pan Bian 
---
 drivers/media/i2c/cx25840/cx25840-core.c | 36 +++-
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git a/drivers/media/i2c/cx25840/cx25840-core.c 
b/drivers/media/i2c/cx25840/cx25840-core.c
index b8d3c070..39f51da 100644
--- a/drivers/media/i2c/cx25840/cx25840-core.c
+++ b/drivers/media/i2c/cx25840/cx25840-core.c
@@ -416,11 +416,13 @@ static void cx25840_initialize(struct i2c_client *client)
INIT_WORK(>fw_work, cx25840_work_handler);
init_waitqueue_head(>fw_wait);
q = create_singlethread_workqueue("cx25840_fw");
-   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
-   queue_work(q, >fw_work);
-   schedule();
-   finish_wait(>fw_wait, );
-   destroy_workqueue(q);
+   if (q) {
+   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
+   queue_work(q, >fw_work);
+   schedule();
+   finish_wait(>fw_wait, );
+   destroy_workqueue(q);
+   }
 
/* 6. */
cx25840_write(client, 0x115, 0x8c);
@@ -630,11 +632,13 @@ static void cx23885_initialize(struct i2c_client *client)
INIT_WORK(>fw_work, cx25840_work_handler);
init_waitqueue_head(>fw_wait);
q = create_singlethread_workqueue("cx25840_fw");
-   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
-   queue_work(q, >fw_work);
-   schedule();
-   finish_wait(>fw_wait, );
-   destroy_workqueue(q);
+   if (q) {
+   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
+   queue_work(q, >fw_work);
+   schedule();
+   finish_wait(>fw_wait, );
+   destroy_workqueue(q);
+   }
 
/* Call the cx23888 specific std setup func, we no longer rely on
 * the generic cx24840 func.
@@ -748,11 +752,13 @@ static void cx231xx_initialize(struct i2c_client *client)
INIT_WORK(>fw_work, cx25840_work_handler);
init_waitqueue_head(>fw_wait);
q = create_singlethread_workqueue("cx25840_fw");
-   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
-   queue_work(q, >fw_work);
-   schedule();
-   finish_wait(>fw_wait, );
-   destroy_workqueue(q);
+   if (q) {
+   prepare_to_wait(>fw_wait, , TASK_UNINTERRUPTIBLE);
+   queue_work(q, >fw_work);
+   schedule();
+   finish_wait(>fw_wait, );
+   destroy_workqueue(q);
+   }
 
cx25840_std_setup(client);
 
-- 
1.9.1




Re: [PATCH 1/3] [media] si2157: get chip id during probing

2017-04-23 Thread Andreas Kemnade
On Sun, 23 Apr 2017 15:19:21 +0300
Antti Palosaari  wrote:

> On 03/16/2017 12:22 AM, Andreas Kemnade wrote:
> > If the si2157 is behind a e.g. si2168, the si2157 will
> > at least in some situations not be readable after the si268
> > got the command 0101. It still accepts commands but the answer
> > is just ff. So read the chip id before that so the
> > information is not lost.
> > 
> > The following line in kernel output is a symptome
> > of that problem:
> > si2157 7-0063: unknown chip version Si21255-\x\x\x
> That is hackish solution :( Somehow I2C reads should be get working 
> rather than making this kind of work-around. Returning 0xff to i2c reads 
> means that signal strength also shows some wrong static value?
> 
dvb-fe-tool -m is like this:

Lock   (0x1f) Signal= -1.00dBm C/N= 19.25dB UCB= 6061140 postBER= 40.0x10^-6

Signal strength is static.

Yes, I do not like my solution, too.
Also i2c reads from the windows driver from the si2157 after that 0101
command give such problems. I have checked my usb logs again.
So the question is where a better solution can come from.
I do not find a proper datasheet of the si2157 or the si2168.

Just for reference: the stick is labeled VG0022a.
The usb strings are like that:
  idVendor   0x1d19 Dexatek Technology Ltd.
  idProduct  0x0100 
  bcdDevice1.00
  iManufacturer   1 ITE Tech., Inc.
  iProduct2 TS Aggregator
  iSerial 3 AF010202071

if that may lead to some information.

Regards,
Andreas


pgpxIyxmq9Vjg.pgp
Description: OpenPGP digital signature


Re: [PATCH 1/3] [media] si2157: get chip id during probing

2017-04-23 Thread Antti Palosaari

On 03/16/2017 12:22 AM, Andreas Kemnade wrote:

If the si2157 is behind a e.g. si2168, the si2157 will
at least in some situations not be readable after the si268
got the command 0101. It still accepts commands but the answer
is just ff. So read the chip id before that so the
information is not lost.

The following line in kernel output is a symptome
of that problem:
si2157 7-0063: unknown chip version Si21255-\x\x\x
That is hackish solution :( Somehow I2C reads should be get working 
rather than making this kind of work-around. Returning 0xff to i2c reads 
means that signal strength also shows some wrong static value?


regards
Antti

--
http://palosaari.fi/


[PATCH 1/1] [media] cobalt: fix unchecked return values

2017-04-23 Thread Pan Bian
From: Pan Bian 

Function pci_find_ext_capability() may return 0, which is an invalid
address. In function cobalt_pcie_status_show(), its return value is used
without validation. This patch adds checks to validate the return
address.

Signed-off-by: Pan Bian 
---
 drivers/media/pci/cobalt/cobalt-driver.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/pci/cobalt/cobalt-driver.c 
b/drivers/media/pci/cobalt/cobalt-driver.c
index d5c911c..f8e173f 100644
--- a/drivers/media/pci/cobalt/cobalt-driver.c
+++ b/drivers/media/pci/cobalt/cobalt-driver.c
@@ -205,6 +205,8 @@ void cobalt_pcie_status_show(struct cobalt *cobalt)
 
offset = pci_find_capability(pci_dev, PCI_CAP_ID_EXP);
bus_offset = pci_find_capability(pci_bus_dev, PCI_CAP_ID_EXP);
+   if (!offset || !bus_offset)
+   return;
 
/* Device */
pci_read_config_dword(pci_dev, offset + PCI_EXP_DEVCAP, );
-- 
1.9.1




Re: [da...@fries.net: [PATCH] xawtv allow ./configure --disable-alsa to compile when alsa is available]

2017-04-23 Thread Mauro Carvalho Chehab
Hi Maximiliano,

Em Sun, 23 Apr 2017 11:39:29 +0200
Maximiliano Curia  escreveu:

> Hi,
> 
> I've received a patch for xawtv made by David Fries (I maintain xawtv in 
> Debian) that I think it would be nice to include in the xawtv3 [1] git 
> repository and in 
> the next bug fix release. Currently I don't have commit access and I'm 
> not subscribed to the linux-media mailing list because I haven't received a 
> reply 
> about my subscription request.

Perhaps you sent an e-mail to the ML with HTML. Vger server simply
discards any e-mail with html on its body.

> I'm contacting you (Mauro) as you committed the latest patches in 
> the git repository, could you please review and/or push the 
> patch below?

Patch looks OK. Just applied upstream:

https://git.linuxtv.org/xawtv3.git/commit/?id=e398d70f5361934710a1f9b47bde2c010d0c97a6

> 
> I'm also CCing the mailing list but I don't expect it to reach it. If the 
> mail 
> reaches the list, please cc me in the reply.

The past e-mail had html stuff on it. I had to manually fix the
patch, as there were some "=3D" characters on it.

This answer should be c/c to the mailing list ;)

> 
> Please let me know if there is an easier way to contact the linux-media group.

You don't need to subscribe to linux-media to send e-mails to it,
but you should be sure that your emailer is sending emails in
plain text only, and, if sending patches on it, that it won't
mangle the patch.

If you're just sending a new patch, the best would likely to use
git send-email[1] to send patches.

[1] https://git-scm.com/docs/git-send-email

> 
> Happy hacking,
> 
> [1]: https://git.linuxtv.org/xawtv3.git
> 
> - Forwarded message from David Fries  -
> 
> Date: Sat, 25 Mar 2017 13:25:54 -0500
> From: David Fries 
> To: Maximiliano Curia 
> User-Agent: Mutt/1.5.23 (2014-03-12)
> Subject: [PATCH] xawtv allow ./configure --disable-alsa to compile when alsa 
> is available
> 
> alsa_loopback is used outside of the HAVE_ALSA check, always define
> it.  Disable alsa_stream.c or the alsa functions are missing symbols.
> ---
> I'm debugging a webcam problem, the 'motion' program works once, then
> fails, xawtv unwedges the camera so it can run again.  In trying to
> figure out what xawtv is doing that motion isn't, I went to compile
> without audio to cut down on the ioctls to look at and turns out
> xawtv using audio IS what is unwedging the camera.  That's no good for
> the uvc USB camera driver, or camera, to require audio be setup for it
> to work properly.  Here's a patch to fixup xawtv to compile without
> alsa.  Thanks for supporting this small little program, I would have
> never thought to look at audio otherwise.
> 
>  common/alsa_stream.c | 2 +-
>  console/radio.c  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/common/alsa_stream.c b/common/alsa_stream.c
> index 3e33b5e..85e10b4 100644
> --- a/common/alsa_stream.c
> +++ b/common/alsa_stream.c
> @@ -28,7 +28,7 @@
> 
>  #include "config.h"
> 
> -#ifdef HAVE_ALSA_ASOUNDLIB_H
> +#if defined(HAVE_ALSA_ASOUNDLIB_H) && defined(HAVE_ALSA)
> 
>  #include 
>  #include 
> diff --git a/console/radio.c b/console/radio.c
> index 186fd3c..d4f7d57 100644
> --- a/console/radio.c
> +++ b/console/radio.c
> @@ -62,8 +62,8 @@
> USB radio devices benefit from a larger default latency */
>  #define DEFAULT_LATENCY 500
> 
> -#if defined(HAVE_ALSA)
>  int alsa_loopback = 1;
> +#if defined(HAVE_ALSA)
>  char *alsa_playback = NULL;
>  char *alsa_capture = NULL;
>  int alsa_latency = DEFAULT_LATENCY;



Thanks,
Mauro


[da...@fries.net: [PATCH] xawtv allow ./configure --disable-alsa to compile when alsa is available]

2017-04-23 Thread Maximiliano Curia

Hi,

I've received a patch for xawtv made by David Fries (I maintain xawtv in 
Debian) that I think it would be nice to include in the xawtv3 [1] git repository and in 
the next bug fix release. Currently I don't have commit access and I'm 
not subscribed to the linux-media mailing list because I haven't received a reply 
about my subscription request.


I'm contacting you (Mauro) as you committed the latest patches in 
the git repository, could you please review and/or push the 
patch below?


I'm also CCing the mailing list but I don't expect it to reach it. If the mail 
reaches the list, please cc me in the reply.


Please let me know if there is an easier way to contact the linux-media group.

Happy hacking,

[1]: https://git.linuxtv.org/xawtv3.git

- Forwarded message from David Fries  -

Date: Sat, 25 Mar 2017 13:25:54 -0500
From: David Fries 
To: Maximiliano Curia 
User-Agent: Mutt/1.5.23 (2014-03-12)
Subject: [PATCH] xawtv allow ./configure --disable-alsa to compile when alsa is 
available

alsa_loopback is used outside of the HAVE_ALSA check, always define
it.  Disable alsa_stream.c or the alsa functions are missing symbols.
---
I'm debugging a webcam problem, the 'motion' program works once, then
fails, xawtv unwedges the camera so it can run again.  In trying to
figure out what xawtv is doing that motion isn't, I went to compile
without audio to cut down on the ioctls to look at and turns out
xawtv using audio IS what is unwedging the camera.  That's no good for
the uvc USB camera driver, or camera, to require audio be setup for it
to work properly.  Here's a patch to fixup xawtv to compile without
alsa.  Thanks for supporting this small little program, I would have
never thought to look at audio otherwise.

common/alsa_stream.c | 2 +-
console/radio.c  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/alsa_stream.c b/common/alsa_stream.c
index 3e33b5e..85e10b4 100644
--- a/common/alsa_stream.c
+++ b/common/alsa_stream.c
@@ -28,7 +28,7 @@

#include "config.h"

-#ifdef HAVE_ALSA_ASOUNDLIB_H
+#if defined(HAVE_ALSA_ASOUNDLIB_H) && defined(HAVE_ALSA)

#include 
#include 
diff --git a/console/radio.c b/console/radio.c
index 186fd3c..d4f7d57 100644
--- a/console/radio.c
+++ b/console/radio.c
@@ -62,8 +62,8 @@
   USB radio devices benefit from a larger default latency */
#define DEFAULT_LATENCY 500

-#if defined(HAVE_ALSA)
int alsa_loopback = 1;
+#if defined(HAVE_ALSA)
char *alsa_playback = NULL;
char *alsa_capture = NULL;
int alsa_latency = DEFAULT_LATENCY;
--
2.11.0

- End forwarded message -

--
"C makes it easy to shoot yourself in the foot; C++ makes it harder,
but when you do it blows your whole leg off."
-- Bjarne Stroustrup
Saludos /\/\ /\ >< `/


signature.asc
Description: PGP signature


[PATCH 1/1] m5602_s5k83a: check return value of kthread_create

2017-04-23 Thread Pan Bian
From: Pan Bian 

Function kthread_create() returns an ERR_PTR on error. However, in
function s5k83a_start(), its return value is used without validation.
This may result in a bad memory access bug. This patch fixes the bug.

Signed-off-by: Pan Bian 
---
 drivers/media/usb/gspca/m5602/m5602_s5k83a.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c 
b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
index be5e25d1..6ad8d48 100644
--- a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
+++ b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
@@ -345,6 +345,11 @@ int s5k83a_start(struct sd *sd)
   to assume that there is no better way of accomplishing this */
sd->rotation_thread = kthread_create(rotation_thread_function,
 sd, "rotation thread");
+   if (IS_ERR(sd->rotation_thread)) {
+   err = PTR_ERR(sd->rotation_thread);
+   sd->rotation_thread = NULL;
+   return err;
+   }
wake_up_process(sd->rotation_thread);
 
/* Preinit the sensor */
-- 
1.9.1