1. 06 6月, 2017 1 次提交
  2. 10 4月, 2017 1 次提交
  3. 24 11月, 2016 1 次提交
  4. 17 11月, 2016 1 次提交
  5. 24 10月, 2016 1 次提交
  6. 21 10月, 2016 1 次提交
  7. 16 6月, 2016 1 次提交
    • M
      [media] media-device: dynamically allocate struct media_devnode · a087ce70
      Mauro Carvalho Chehab 提交于
      struct media_devnode is currently embedded at struct media_device.
      
      While this works fine during normal usage, it leads to a race
      condition during devnode unregister. the problem is that drivers
      assume that, after calling media_device_unregister(), the struct
      that contains media_device can be freed. This is not true, as it
      can't be freed until userspace closes all opened /dev/media devnodes.
      
      In other words, if the media devnode is still open, and media_device
      gets freed, any call to an ioctl will make the core to try to access
      struct media_device, with will cause an use-after-free and even GPF.
      
      Fix this by dynamically allocating the struct media_devnode and only
      freeing it when it is safe.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      a087ce70
  8. 03 3月, 2016 1 次提交
  9. 11 1月, 2016 1 次提交
    • J
      [media] media-device: split media initialization and registration · 9832e155
      Javier Martinez Canillas 提交于
      The media device node is registered and so made visible to user-space
      before entities are registered and links created which means that the
      media graph obtained by user-space could be only partially enumerated
      if that happens too early before all the graph has been created.
      
      To avoid this race condition, split the media init and registration
      in separate functions and only register the media device node when
      all the pending subdevices have been registered, either explicitly
      by the driver or asynchronously using v4l2_async_register_subdev().
      
      The media_device_register() had a check for drivers not filling dev
      and model fields but all drivers in mainline set them and not doing
      it will be a driver bug so change the function return to void and
      add a BUG_ON() for dev being NULL instead.
      
      Also, add a media_device_cleanup() function that will destroy the
      graph_mutex that is initialized in media_device_init().
      
      [mchehab@osg.samsung.com: Fix compilation if !CONFIG_MEDIA_CONTROLLER
       and remove two warnings added by this changeset]
      Suggested-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9832e155
  10. 12 12月, 2015 1 次提交
  11. 03 12月, 2015 1 次提交
  12. 19 11月, 2015 1 次提交
    • L
      [media] uvcvideo: Enable UVC 1.5 device detection · 8afe97be
      Laurent Pinchart 提交于
      UVC 1.5 devices report a bInterfaceProtocol value set to 1 in their
      interface descriptors. The uvcvideo driver only matches on
      bInterfaceProtocol 0, preventing those devices from being detected.
      
      More changes to the driver are needed for full UVC 1.5 compatibility.
      However, at least the UVC 1.5 Microsoft Surface Pro 3 cameras have been
      reported to work out of the box with the driver with an updated match
      table.
      
      Enable UVC 1.5 support in the match table to support the devices that
      can work with the current driver implementation. Devices that can't will
      fail, but that's hardly a regression as they're currently not detected
      at all anyway.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      8afe97be
  13. 26 9月, 2015 1 次提交
  14. 30 5月, 2015 1 次提交
  15. 08 4月, 2015 1 次提交
  16. 03 4月, 2015 1 次提交
  17. 23 12月, 2014 1 次提交
  18. 25 11月, 2014 5 次提交
  19. 22 9月, 2014 2 次提交
  20. 05 7月, 2014 1 次提交
  21. 06 3月, 2014 1 次提交
  22. 01 3月, 2014 1 次提交
  23. 24 9月, 2013 2 次提交
  24. 09 6月, 2013 3 次提交
  25. 28 11月, 2012 3 次提交
  26. 26 9月, 2012 1 次提交
  27. 15 9月, 2012 1 次提交
  28. 16 8月, 2012 1 次提交
  29. 14 8月, 2012 2 次提交