1. 09 6月, 2017 1 次提交
  2. 07 6月, 2017 2 次提交
  3. 06 6月, 2017 6 次提交
  4. 18 5月, 2017 1 次提交
  5. 20 4月, 2017 1 次提交
  6. 15 4月, 2017 4 次提交
  7. 10 4月, 2017 3 次提交
  8. 06 4月, 2017 1 次提交
  9. 22 3月, 2017 2 次提交
  10. 02 3月, 2017 1 次提交
  11. 28 2月, 2017 1 次提交
  12. 25 2月, 2017 1 次提交
  13. 08 2月, 2017 1 次提交
  14. 04 2月, 2017 2 次提交
  15. 03 2月, 2017 3 次提交
    • H
      [media] v4l2-ctrls.c: add NULL check · 814e92b8
      Hans Verkuil 提交于
      Check that the control whose events we want to delete is still there.
      
      Normally this will always be the case, but I am not 100% certain if
      there aren't any corner cases when a device is forcibly unbound.
      
      In any case, this will satisfy static checkers and simply make it more
      robust.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Reported-by: NShaobo <shaobo@cs.utah.edu>
      Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      814e92b8
    • J
      [media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay · d2180e0c
      Javi Merino 提交于
      In asds configured with V4L2_ASYNC_MATCH_OF, the v4l2 subdev can be
      part of a devicetree overlay, for example:
      
      &media_bridge {
      	...
      	my_port: port@0 {
      		#address-cells = <1>;
      		#size-cells = <0>;
      		reg = <0>;
      		ep: endpoint@0 {
      			remote-endpoint = <&camera0>;
      		};
      	};
      };
      
      / {
      	fragment@0 {
      		target = <&i2c0>;
      		__overlay__ {
      			my_cam {
      				compatible = "foo,bar";
      				port {
      					camera0: endpoint {
      						remote-endpoint = <&my_port>;
      						...
      					};
      				};
      			};
      		};
      	};
      };
      
      Each time the overlay is applied, its of_node pointer will be
      different.  We are not interested in matching the pointer, what we
      want to match is that the path is the one we are expecting.  Change to
      use of_node_cmp() so that we continue matching after the overlay has
      been removed and reapplied.
      
      Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
      Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: NJavi Merino <javi.merino@kernel.org>
      Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Reviewed-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      d2180e0c
    • S
      [media] media: Protect enable_source and disable_source handler code paths · 90cd366b
      Shuah Khan 提交于
      Drivers might try to access and run enable_source and disable_source
      handlers when the driver that implements these handlers is clearing
      the handlers during its unregister.
      
      Fix the following race condition:
      
      process 1				process 2
      
      request video streaming			unbind au0828
      v4l2 checks if tuner is free
      ...					...
      
      					au0828_unregister_media_device()
      ...					...
      					(doesn't hold graph_mutex)
      					mdev->enable_source = NULL;
      if (mdev && mdev->enable_source)	mdev->disable_source = NULL;
      	mdev->enable_source()
      (enable_source holds graph_mutex)
      
      As shown above enable_source check is done without holding the graph_mutex.
      If unbind happens to be in progress, au0828 could clear enable_source and
      disable_source handlers leading to null pointer de-reference.
      
      Fix it by protecting enable_source and disable_source set and clear and
      protecting enable_source and disable_source handler access and the call
      itself.
      
      process 1				process 2
      
      request video streaming			unbind au0828
      v4l2 checks if tuner is free
      ...					...
      
      					au0828_unregister_media_device()
      ...					...
      					(hold graph_mutex while clearing)
      					mdev->enable_source = NULL;
      if (mdev)				mdev->disable_source = NULL;
      (hold graph_mutex to check and
       call enable_source)
          if (mdev->enable_source)
      	mdev->enable_source()
      
      If graph_mutex is held to just heck for handler being null and needs to be
      released before calling the handler, there will be another window for the
      handlers to be cleared. Hence, enable_source and disable_source handlers
      no longer hold the graph_mutex and expect callers to hold it to avoid
      forcing them release the graph_mutex before calling the handlers.
      Signed-off-by: NShuah Khan <shuahkh@osg.samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      90cd366b
  16. 31 1月, 2017 1 次提交
  17. 28 1月, 2017 1 次提交
    • S
      [media] media: Rename graph and pipeline structs and functions · 20b85227
      Sakari Ailus 提交于
      The media_entity_pipeline_start() and media_entity_pipeline_stop()
      functions are renamed as media_pipeline_start() and media_pipeline_stop(),
      respectively. The reason is two-fold: the pipeline struct is, rightly,
      already called media_pipeline (rather than media_entity_pipeline) and what
      this really is about is a pipeline. A pipeline consists of entities ---
      and, well, other objects embedded in these entities.
      
      As the pipeline object will be in the future moved from entities to pads
      in order to support multiple pipelines through a single entity, do the
      renaming now.
      
      Similarly, functions operating on struct media_entity_graph as well as the
      struct itself are renamed by dropping the "entity_" part from the prefix
      of the function family and the data structure. The graph traversal which
      is what the functions are about is not specifically about entities only
      and will operate on pads for the same reason as the media pipeline.
      
      The patch has been generated using the following command:
      
      git grep -l media_entity |xargs perl -i -pe '
      	s/media_entity_pipeline/media_pipeline/g;
      	s/media_entity_graph/media_graph/g'
      
      And a few manual edits related to line start alignment and line wrapping.
      Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      20b85227
  18. 27 1月, 2017 1 次提交
    • S
      [media] media: Drop FSF's postal address from the source code files · bcb63314
      Sakari Ailus 提交于
      Drop the FSF's postal address from the source code files that typically
      contain mostly the license text. Of the 628 removed instances, 578 are
      outdated.
      
      The patch has been created with the following command without manual edits:
      
      git grep -l "675 Mass Ave\|59 Temple Place\|51 Franklin St" -- \
      	drivers/media/ include/media|while read i; do i=$i perl -e '
      open(F,"< $ENV{i}");
      $a=join("", <F>);
      $a =~ s/[ \t]*\*\n.*You should.*\n.*along with.*\n.*(\n.*USA.*$)?\n//m
      	&& $a =~ s/(^.*)Or, (point your browser to) /$1To obtain the license, $2\n$1/m;
      close(F);
      open(F, "> $ENV{i}");
      print F $a;
      close(F);'; done
      Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      bcb63314
  19. 25 12月, 2016 1 次提交
  20. 15 12月, 2016 1 次提交
  21. 24 11月, 2016 2 次提交
  22. 22 11月, 2016 1 次提交
  23. 18 11月, 2016 1 次提交
  24. 17 11月, 2016 1 次提交