Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'media/v4.6-5' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:

- deadlock fixes on driver probe at exynos4-is and s43-camif drivers

- a build breakage if media controller is enabled and USB or PCI is
built as module.

* tag 'media/v4.6-5' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
[media] media-device: fix builds when USB or PCI is compiled as module
[media] media: s3c-camif: fix deadlock on driver probe()
[media] media: exynos4-is: fix deadlock on driver probe

+9 -24
+4 -4
drivers/media/media-device.c
··· 846 846 } 847 847 EXPORT_SYMBOL_GPL(media_device_find_devres); 848 848 849 + #if IS_ENABLED(CONFIG_PCI) 849 850 void media_device_pci_init(struct media_device *mdev, 850 851 struct pci_dev *pci_dev, 851 852 const char *name) 852 853 { 853 - #ifdef CONFIG_PCI 854 854 mdev->dev = &pci_dev->dev; 855 855 856 856 if (name) ··· 866 866 mdev->driver_version = LINUX_VERSION_CODE; 867 867 868 868 media_device_init(mdev); 869 - #endif 870 869 } 871 870 EXPORT_SYMBOL_GPL(media_device_pci_init); 871 + #endif 872 872 873 + #if IS_ENABLED(CONFIG_USB) 873 874 void __media_device_usb_init(struct media_device *mdev, 874 875 struct usb_device *udev, 875 876 const char *board_name, 876 877 const char *driver_name) 877 878 { 878 - #ifdef CONFIG_USB 879 879 mdev->dev = &udev->dev; 880 880 881 881 if (driver_name) ··· 895 895 mdev->driver_version = LINUX_VERSION_CODE; 896 896 897 897 media_device_init(mdev); 898 - #endif 899 898 } 900 899 EXPORT_SYMBOL_GPL(__media_device_usb_init); 900 + #endif 901 901 902 902 903 903 #endif /* CONFIG_MEDIA_CONTROLLER */
+2 -11
drivers/media/platform/exynos4-is/media-dev.c
··· 1446 1446 1447 1447 platform_set_drvdata(pdev, fmd); 1448 1448 1449 - /* Protect the media graph while we're registering entities */ 1450 - mutex_lock(&fmd->media_dev.graph_mutex); 1451 - 1452 1449 ret = fimc_md_register_platform_entities(fmd, dev->of_node); 1453 - if (ret) { 1454 - mutex_unlock(&fmd->media_dev.graph_mutex); 1450 + if (ret) 1455 1451 goto err_clk; 1456 - } 1457 1452 1458 1453 ret = fimc_md_register_sensor_entities(fmd); 1459 - if (ret) { 1460 - mutex_unlock(&fmd->media_dev.graph_mutex); 1454 + if (ret) 1461 1455 goto err_m_ent; 1462 - } 1463 - 1464 - mutex_unlock(&fmd->media_dev.graph_mutex); 1465 1456 1466 1457 ret = device_create_file(&pdev->dev, &dev_attr_subdev_conf_mode); 1467 1458 if (ret)
+3 -9
drivers/media/platform/s3c-camif/camif-core.c
··· 493 493 if (ret < 0) 494 494 goto err_sens; 495 495 496 - mutex_lock(&camif->media_dev.graph_mutex); 497 - 498 496 ret = v4l2_device_register_subdev_nodes(&camif->v4l2_dev); 499 497 if (ret < 0) 500 - goto err_unlock; 498 + goto err_sens; 501 499 502 500 ret = camif_register_video_nodes(camif); 503 501 if (ret < 0) 504 - goto err_unlock; 502 + goto err_sens; 505 503 506 504 ret = camif_create_media_links(camif); 507 505 if (ret < 0) 508 - goto err_unlock; 509 - 510 - mutex_unlock(&camif->media_dev.graph_mutex); 506 + goto err_sens; 511 507 512 508 ret = media_device_register(&camif->media_dev); 513 509 if (ret < 0) ··· 512 516 pm_runtime_put(dev); 513 517 return 0; 514 518 515 - err_unlock: 516 - mutex_unlock(&camif->media_dev.graph_mutex); 517 519 err_sens: 518 520 v4l2_device_unregister(&camif->v4l2_dev); 519 521 media_device_unregister(&camif->media_dev);