cron job: media_tree daily build: ERRORS
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)
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'
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'
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'
'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
From: Pan BianIn 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
On Sun, 23 Apr 2017 15:19:21 +0300 Antti Palosaariwrote: > 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
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
From: Pan BianFunction 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]
Hi Maximiliano, Em Sun, 23 Apr 2017 11:39:29 +0200 Maximiliano Curiaescreveu: > 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]
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
From: Pan BianFunction 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