Re: [linuxtv-media:master 2108/2127] drivers/media/usb/au0828/au0828-core.c:467:1-7: preceding lock on line 364

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This looks suspicious, since all the other exist paths do release the
lock.

julia

On Fri, 12 Feb 2016, kbuild test robot wrote:

> CC: kbuild-all@xxxxxx
> TO: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx>
> CC: linux-media@xxxxxxxxxxxxxxx
>
> tree:   git://linuxtv.org/media_tree.git master
> head:   f7b4b54e63643b740c598e044874c4bffa0f04f2
> commit: 82e92f4cad6e0c42f8dbe7497b39dec7b3eb7b11 [2108/2127] [media] au0828: only create V4L2 graph if V4L2 is registered
> :::::: branch date: 22 hours ago
> :::::: commit date: 2 days ago
>
> >> drivers/media/usb/au0828/au0828-core.c:467:1-7: preceding lock on line 364
>
> git remote add linuxtv-media git://linuxtv.org/media_tree.git
> git remote update linuxtv-media
> git checkout 82e92f4cad6e0c42f8dbe7497b39dec7b3eb7b11
> vim +467 drivers/media/usb/au0828/au0828-core.c
>
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  358  	if (dev == NULL) {
> 83afb32a drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-08-09  359  		pr_err("%s() Unable to allocate memory\n", __func__);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  360  		return -ENOMEM;
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  361  	}
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  362
> 549ee4df drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2012-08-06  363  	mutex_init(&dev->lock);
> 549ee4df drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2012-08-06 @364  	mutex_lock(&dev->lock);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  365  	mutex_init(&dev->mutex);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  366  	mutex_init(&dev->dvb.lock);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  367  	dev->usbdev = usbdev;
> f1add5b5 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  368  	dev->boardnr = id->driver_info;
> e42c8c6e drivers/media/usb/au0828/au0828-core.c   Rafael Lourenço de Lima Chehab 2015-06-08  369  	dev->board = au0828_boards[dev->boardnr];
> e42c8c6e drivers/media/usb/au0828/au0828-core.c   Rafael Lourenço de Lima Chehab 2015-06-08  370
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  371  	/* Initialize the media controller */
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  372  	retval = au0828_media_device_init(dev, usbdev);
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  373  	if (retval) {
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  374  		pr_err("%s() au0828_media_device_init failed\n",
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  375  		       __func__);
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  376  		mutex_unlock(&dev->lock);
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  377  		kfree(dev);
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  378  		return retval;
> 9f806795 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2015-12-28  379  	}
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  380
> 8a4e7866 drivers/media/usb/au0828/au0828-core.c   Michael Krufky                 2012-12-04  381  #ifdef CONFIG_VIDEO_AU0828_V4L2
> 823beb7e drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-03-11  382  	dev->v4l2_dev.release = au0828_usb_v4l2_release;
> 823beb7e drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-03-11  383
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  384  	/* Create the v4l2_device */
> bed69196 drivers/media/usb/au0828/au0828-core.c   Rafael Lourenço de Lima Chehab 2015-06-08  385  #ifdef CONFIG_MEDIA_CONTROLLER
> bed69196 drivers/media/usb/au0828/au0828-core.c   Rafael Lourenço de Lima Chehab 2015-06-08  386  	dev->v4l2_dev.mdev = dev->media_dev;
> bed69196 drivers/media/usb/au0828/au0828-core.c   Rafael Lourenço de Lima Chehab 2015-06-08  387  #endif
> a4124aa9 drivers/media/video/au0828/au0828-core.c Janne Grunau                   2009-04-01  388  	retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev);
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  389  	if (retval) {
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  390  		pr_err("%s() v4l2_device_register failed\n",
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  391  		       __func__);
> 549ee4df drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2012-08-06  392  		mutex_unlock(&dev->lock);
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  393  		kfree(dev);
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  394  		return retval;
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  395  	}
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  396  	/* This control handler will inherit the controls from au8522 */
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  397  	retval = v4l2_ctrl_handler_init(&dev->v4l2_ctrl_hdl, 4);
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  398  	if (retval) {
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  399  		pr_err("%s() v4l2_ctrl_handler_init failed\n",
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  400  		       __func__);
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  401  		mutex_unlock(&dev->lock);
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  402  		kfree(dev);
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  403  		return retval;
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  404  	}
> e8c26f45 drivers/media/usb/au0828/au0828-core.c   Hans Verkuil                   2013-02-15  405  	dev->v4l2_dev.ctrl_handler = &dev->v4l2_ctrl_hdl;
> 8a4e7866 drivers/media/usb/au0828/au0828-core.c   Michael Krufky                 2012-12-04  406  #endif
> b14667f3 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  407
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  408  	/* Power Up the bridge */
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  409  	au0828_write(dev, REG_600, 1 << 4);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  410
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  411  	/* Bring up the GPIO's and supporting devices */
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  412  	au0828_gpio_setup(dev);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  413
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  414  	/* I2C */
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  415  	au0828_i2c_register(dev);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  416
> 28930fa9 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-03-29  417  	/* Setup */
> 28930fa9 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-03-29  418  	au0828_card_setup(dev);
> 28930fa9 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-03-29  419
> 8a4e7866 drivers/media/usb/au0828/au0828-core.c   Michael Krufky                 2012-12-04  420  #ifdef CONFIG_VIDEO_AU0828_V4L2
> 8b2f0795 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  421  	/* Analog TV */
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  422  	if (AUVI_INPUT(0).type != AU0828_VMUX_UNDEFINED) {
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  423  		retval = au0828_analog_register(dev, interface);
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  424  		if (retval) {
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  425  			pr_err("%s() au0282_dev_register failed to register on V4L2\n",
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  426  			       __func__);
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  427  			goto done;
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  428  		}
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  429
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  430  		retval = au0828_create_media_graph(dev);
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  431  		if (retval) {
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  432  			pr_err("%s() au0282_dev_register failed to create graph\n",
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  433  			       __func__);
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  434  			goto done;
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  435  		}
> 82e92f4c drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2016-02-09  436  	}
> 8a4e7866 drivers/media/usb/au0828/au0828-core.c   Michael Krufky                 2012-12-04  437  #endif
> 8b2f0795 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  438
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  439  	/* Digital TV */
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07  440  	retval = au0828_dvb_register(dev);
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07  441  	if (retval)
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07  442  		pr_err("%s() au0282_dev_register failed\n",
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07  443  		       __func__);
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07  444
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  445  	/* Remote controller */
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  446  	au0828_rc_register(dev);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  447
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  448  	/*
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  449  	 * Store the pointer to the au0828_dev so it can be accessed in
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  450  	 * au0828_usb_disconnect
> 2fcfd317 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-07-24  451  	 */
> fe78a49c drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-04-28  452  	usb_set_intfdata(interface, dev);
> fe78a49c drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-04-28  453
> 83afb32a drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-08-09  454  	pr_info("Registered device AU0828 [%s]\n",
> f1add5b5 drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2009-03-11  455  		dev->board.name == NULL ? "Unset" : dev->board.name);
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  456
> 549ee4df drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2012-08-06  457  	mutex_unlock(&dev->lock);
> 549ee4df drivers/media/video/au0828/au0828-core.c Devin Heitmueller              2012-08-06  458
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  459  #ifdef CONFIG_MEDIA_CONTROLLER
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  460  	retval = media_device_register(dev->media_dev);
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  461  #endif
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  462
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  463  done:
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  464  	if (retval < 0)
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  465  		au0828_usb_disconnect(interface);
> 9832e155 drivers/media/usb/au0828/au0828-core.c   Javier Martinez Canillas       2015-12-11  466
> f251b3e7 drivers/media/usb/au0828/au0828-core.c   Tim Mester                     2014-01-07 @467  	return retval;
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  468  }
> 265a6510 drivers/media/video/au0828/au0828-core.c Steven Toth                    2008-04-18  469
> aaeac199 drivers/media/usb/au0828/au0828-core.c   Mauro Carvalho Chehab          2014-08-09  470  static int au0828_suspend(struct usb_interface *interface,
>
> :::::: The code at line 467 was first introduced by commit
> :::::: f251b3e78cc57411627d825eae3c911da77b4035 [media] au0828: Add option to preallocate digital transfer buffers
>
> :::::: TO: Tim Mester <ttmesterr@xxxxxxxxx>
> :::::: CC: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx>
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux