devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Russell King - ARM Linux
	<linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
	Laurent Pinchart
	<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
	Hans Verkuil <hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>,
	Mauro Carvalho Chehab
	<mchehab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: mark.rutland-5wv7dgnIgG8@public.gmane.org,
	andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	nick-gcszYUEDH4VrovVCs/uTlw@public.gmane.org,
	songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org,
	pavel-+ZI9xUNit7I@public.gmane.org,
	robert.jarzmik-GANU6spQydw@public.gmane.org,
	devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org,
	markus.heiser-O6JHGLzbNUwb1SvskN2V4Q@public.gmane.org,
	Steve Longerbeam
	<steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>,
	shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org,
	linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	bparrot-l0cyMroinI0@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	jean-christophe.trotin-qxv4g6HH51o@public.gmane.org,
	p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, fabio.este
Subject: Re: [PATCH v4 20/36] media: imx: Add CSI subdev driver
Date: Thu, 16 Feb 2017 11:07:16 -0800	[thread overview]
Message-ID: <925f444d-e5b0-7c5b-b5d0-6b66b8045c2d@gmail.com> (raw)
In-Reply-To: <20170216142028.GP27312-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>



On 02/16/2017 06:20 AM, Russell King - ARM Linux wrote:
> On Thu, Feb 16, 2017 at 01:09:35PM +0000, Russell King - ARM Linux wrote:
>>
>> <snip>
>> More crap.
>>
>> If the "complete" method fails (or, in fact, anything in
>> v4l2_async_test_notify() fails) then all hell breaks loose, because
>> of the total lack of clean up (and no, this isn't anything to do with
>> some stupid justification of those BUG_ON()s above.)
>>
>> v4l2_async_notifier_register() gets called, it adds the notifier to
>> the global notifier list.  v4l2_async_test_notify() gets called.  It
>> returns an error, which is propagated out of
>> v4l2_async_notifier_register().
>>
>> So the caller thinks that v4l2_async_notifier_register() failed, which
>> will cause imx_media_probe() to fail, causing imxmd->subdev_notifier
>> to be kfree()'d.  We now have a use-after free bug.
>>
>> Second case.  v4l2_async_register_subdev().  Almost exactly the same,
>> except in this case adding sd->async_list to the notifier->done list
>> may have succeeded, and failure after that, again, results in an
>> in-use list_head being kfree()'d.
>
> And here's a patch which, combined with the fixes for ipuv3, results in
> everything appearing to work properly.  Feel free to tear out the bits
> for your area and turn them into proper patches.
>
>  drivers/gpu/ipu-v3/ipu-common.c           |  6 ---
>  drivers/media/media-entity.c              |  7 +--
>  drivers/media/v4l2-core/v4l2-async.c      | 71 +++++++++++++++++++++++--------
>  drivers/staging/media/imx/imx-media-csi.c |  1 +
>  drivers/staging/media/imx/imx-media-dev.c |  2 +-
>  5 files changed, 59 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
> index 97218af4fe75..8368e6f766ee 100644
> --- a/drivers/gpu/ipu-v3/ipu-common.c
> +++ b/drivers/gpu/ipu-v3/ipu-common.c
> @@ -1238,12 +1238,6 @@ static int ipu_add_client_devices(struct ipu_soc *ipu, unsigned long ipu_base)
>  			platform_device_put(pdev);
>  			goto err_register;
>  		}
> -
> -		/*
> -		 * Set of_node only after calling platform_device_add. Otherwise
> -		 * the platform:imx-ipuv3-crtc modalias won't be used.
> -		 */
> -		pdev->dev.of_node = of_node;
>  	}


Ah, never mind my question earlier, I see now why the CSI's were likely
not recognized, probably because of this. Anyway I agree with this 
change and I made the accompanying requisite change to imx-media-csi.c
and imx-media-dev.c below.

Steve




>
>  	return 0;
> diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
> index f9f723f5e4f0..154593a168df 100644
> --- a/drivers/media/media-entity.c
> +++ b/drivers/media/media-entity.c
> @@ -625,9 +625,10 @@ media_create_pad_link(struct media_entity *source, u16 source_pad,
>  	struct media_link *link;
>  	struct media_link *backlink;
>
> -	BUG_ON(source == NULL || sink == NULL);
> -	BUG_ON(source_pad >= source->num_pads);
> -	BUG_ON(sink_pad >= sink->num_pads);
> +	if (WARN_ON(source == NULL || sink == NULL) ||
> +	    WARN_ON(source_pad >= source->num_pads) ||
> +	    WARN_ON(sink_pad >= sink->num_pads))
> +		return -EINVAL;
>
>  	link = media_add_link(&source->links);
>  	if (link == NULL)
> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
> index 5bada202b2d3..09934fb96a8d 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -94,7 +94,7 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct v4l2_async_notifier *
>  }
>
>  static int v4l2_async_test_notify(struct v4l2_async_notifier *notifier,
> -				  struct v4l2_subdev *sd,
> +				  struct list_head *new, struct v4l2_subdev *sd,
>  				  struct v4l2_async_subdev *asd)
>  {
>  	int ret;
> @@ -107,22 +107,36 @@ static int v4l2_async_test_notify(struct v4l2_async_notifier *notifier,
>  	if (notifier->bound) {
>  		ret = notifier->bound(notifier, sd, asd);
>  		if (ret < 0)
> -			return ret;
> +			goto err_bind;
>  	}
> +
>  	/* Move from the global subdevice list to notifier's done */
> -	list_move(&sd->async_list, &notifier->done);
> +	list_move(&sd->async_list, new);
>
>  	ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd);
> -	if (ret < 0) {
> -		if (notifier->unbind)
> -			notifier->unbind(notifier, sd, asd);
> -		return ret;
> -	}
> +	if (ret < 0)
> +		goto err_register;
>
> -	if (list_empty(&notifier->waiting) && notifier->complete)
> -		return notifier->complete(notifier);
> +	if (list_empty(&notifier->waiting) && notifier->complete) {
> +		ret = notifier->complete(notifier);
> +		if (ret < 0)
> +			goto err_complete;
> +	}
>
>  	return 0;
> +
> +err_complete:
> +	v4l2_device_unregister_subdev(sd);
> +err_register:
> +	if (notifier->unbind)
> +		notifier->unbind(notifier, sd, asd);
> +err_bind:
> +	sd->notifier = NULL;
> +	sd->asd = NULL;
> +	list_add(&asd->list, &notifier->waiting);
> +	/* always take this off the list on error */
> +	list_del(&sd->async_list);
> +	return ret;
>  }
>
>  static void v4l2_async_cleanup(struct v4l2_subdev *sd)
> @@ -139,7 +153,8 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,
>  {
>  	struct v4l2_subdev *sd, *tmp;
>  	struct v4l2_async_subdev *asd;
> -	int i;
> +	LIST_HEAD(new);
> +	int ret, i;
>
>  	if (!notifier->num_subdevs || notifier->num_subdevs > V4L2_MAX_SUBDEVS)
>  		return -EINVAL;
> @@ -172,22 +187,39 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,
>  	list_add(&notifier->list, &notifier_list);
>
>  	list_for_each_entry_safe(sd, tmp, &subdev_list, async_list) {
> -		int ret;
> -
>  		asd = v4l2_async_belongs(notifier, sd);
>  		if (!asd)
>  			continue;
>
> -		ret = v4l2_async_test_notify(notifier, sd, asd);
> +		ret = v4l2_async_test_notify(notifier, &new, sd, asd);
>  		if (ret < 0) {
> -			mutex_unlock(&list_lock);
> -			return ret;
> +			/*
> +			 * On failure, v4l2_async_test_notify() takes the
> +			 * sd off the subdev list.  Add it back.
> +			 */
> +			list_add(&sd->async_list, &subdev_list);
> +			goto err_notify;
>  		}
>  	}
>
> +	list_splice(&new, &notifier->done);
> +
>  	mutex_unlock(&list_lock);
>
>  	return 0;
> +
> +err_notify:
> +	list_del(&notifier->list);
> +	list_for_each_entry_safe(sd, tmp, &new, async_list) {
> +		v4l2_device_unregister_subdev(sd);
> +		list_move(&sd->async_list, &subdev_list);
> +		if (notifier->unbind)
> +			notifier->unbind(notifier, sd, sd->asd);
> +		sd->notifier = NULL;
> +		sd->asd = NULL;
> +	}
> +	mutex_unlock(&list_lock);
> +	return ret;
>  }
>  EXPORT_SYMBOL(v4l2_async_notifier_register);
>
> @@ -213,6 +245,7 @@ void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier)
>  	list_del(&notifier->list);
>
>  	list_for_each_entry_safe(sd, tmp, &notifier->done, async_list) {
> +		struct v4l2_async_subdev *asd = sd->asd;
>  		struct device *d;
>
>  		d = get_device(sd->dev);
> @@ -223,7 +256,7 @@ void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier)
>  		device_release_driver(d);
>
>  		if (notifier->unbind)
> -			notifier->unbind(notifier, sd, sd->asd);
> +			notifier->unbind(notifier, sd, asd);
>
>  		/*
>  		 * Store device at the device cache, in order to call
> @@ -288,7 +321,9 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)
>  	list_for_each_entry(notifier, &notifier_list, list) {
>  		struct v4l2_async_subdev *asd = v4l2_async_belongs(notifier, sd);
>  		if (asd) {
> -			int ret = v4l2_async_test_notify(notifier, sd, asd);
> +			int ret = v4l2_async_test_notify(notifier,
> +							 &notifier->done,
> +							 sd, asd);
>  			mutex_unlock(&list_lock);
>  			return ret;
>  		}
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index 9d9ec03436e4..507026feee91 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -1427,6 +1427,7 @@ static int imx_csi_probe(struct platform_device *pdev)
>  	priv->sd.entity.ops = &csi_entity_ops;
>  	priv->sd.entity.function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER;
>  	priv->sd.dev = &pdev->dev;
> +	priv->sd.of_node = pdata->of_node;
>  	priv->sd.owner = THIS_MODULE;
>  	priv->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
>  	priv->sd.grp_id = priv->csi_id ?
> diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
> index 60f45fe4b506..5b4dfc1fb6ab 100644
> --- a/drivers/staging/media/imx/imx-media-dev.c
> +++ b/drivers/staging/media/imx/imx-media-dev.c
> @@ -197,7 +197,7 @@ static int imx_media_subdev_bound(struct v4l2_async_notifier *notifier,
>  	struct imx_media_subdev *imxsd;
>  	int ret = -EINVAL;
>
> -	imxsd = imx_media_find_async_subdev(imxmd, sd->dev->of_node,
> +	imxsd = imx_media_find_async_subdev(imxmd, sd->of_node,
>  					    dev_name(sd->dev));
>  	if (!imxsd)
>  		goto out;
>
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-02-16 19:07 UTC|newest]

Thread overview: 229+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-16  2:19 [PATCH v4 00/36] i.MX Media Driver Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 01/36] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-02-16 11:54   ` Philipp Zabel
     [not found]     ` <1487246051.2377.41.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-02-16 19:20       ` Steve Longerbeam
2017-02-27 14:38   ` Rob Herring
2017-03-01  0:00     ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 02/36] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 03/36] ARM: dts: imx6qdl: Add mipi_ipu1/2 multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 04/36] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 05/36] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 06/36] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 07/36] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-02-17  0:51   ` Fabio Estevam
2017-02-17  0:56     ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 08/36] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 09/36] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 10/36] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 11/36] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 12/36] add mux and video interface bridge entity functions Steve Longerbeam
2017-02-19 21:28   ` Pavel Machek
2017-02-22 17:19     ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 13/36] [media] v4l2: add a frame timeout event Steve Longerbeam
2017-03-02 15:53   ` Sakari Ailus
2017-03-02 23:07     ` Steve Longerbeam
2017-03-03 11:45       ` Sakari Ailus
2017-03-03 22:43         ` Steve Longerbeam
     [not found]           ` <59663ea1-b277-1543-e770-6a102ac733a4-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-04 10:56             ` Sakari Ailus
2017-03-05  0:37               ` Steve Longerbeam
2017-03-05 21:31                 ` Sakari Ailus
2017-03-05 22:41                 ` Russell King - ARM Linux
2017-03-10  2:38                   ` Steve Longerbeam
2017-03-10  9:33                     ` Russell King - ARM Linux
2017-02-16  2:19 ` [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline Steve Longerbeam
2017-02-19 21:44   ` Pavel Machek
2017-03-02 16:02   ` Sakari Ailus
2017-03-02 23:48     ` Steve Longerbeam
2017-03-03  0:46       ` Steve Longerbeam
2017-03-03  2:12       ` Steve Longerbeam
2017-03-03 19:17         ` Sakari Ailus
2017-03-03 22:47           ` Steve Longerbeam
2017-03-03 23:06     ` Russell King - ARM Linux
2017-03-04  0:36       ` Steve Longerbeam
     [not found]       ` <20170303230645.GR21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-04 13:13         ` Sakari Ailus
2017-03-10 12:54           ` Hans Verkuil
2017-03-10 13:07             ` Russell King - ARM Linux
2017-03-10 13:22               ` Hans Verkuil
2017-03-10 14:01                 ` Russell King - ARM Linux
2017-03-10 14:20                   ` Hans Verkuil
2017-03-10 15:53                     ` Mauro Carvalho Chehab
     [not found]                       ` <20170310125342.7f047acf-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-10 22:37                         ` Sakari Ailus
2017-03-11 11:25                           ` Mauro Carvalho Chehab
2017-03-11 21:52                             ` Pavel Machek
     [not found]                             ` <20170311082549.576531d0-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-11 23:14                               ` Russell King - ARM Linux
2017-03-12  0:19                                 ` Steve Longerbeam
     [not found]                                 ` <20170311231456.GH21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-12 21:29                                   ` Pavel Machek
2017-03-12 22:37                                     ` Mauro Carvalho Chehab
     [not found]                                       ` <20170312193745.636df0bf-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-14 18:26                                         ` Pavel Machek
2017-03-26 16:41                                           ` Laurent Pinchart
2017-03-13 12:46                               ` Sakari Ailus
2017-03-14  3:45                                 ` Mauro Carvalho Chehab
2017-03-14  7:55                                   ` Hans Verkuil
2017-03-14 10:21                                     ` Mauro Carvalho Chehab
     [not found]                                       ` <20170314072143.498cde9b-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-14 22:32                                         ` media / v4l2-mc: wishlist for complex cameras (was Re: [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline) Pavel Machek
2017-03-15  0:54                                           ` Mauro Carvalho Chehab
2017-03-15 10:50                                             ` Philippe De Muyter
2017-03-15 18:55                                               ` Nicolas Dufresne
     [not found]                                                 ` <1489604109.4593.4.camel-dDhyB4GVkw9AFePFGvp55w@public.gmane.org>
2017-03-16  9:26                                                   ` Philipp Zabel
2017-03-16  9:47                                                     ` Philippe De Muyter
2017-03-16 10:01                                                       ` Philipp Zabel
2017-03-16 10:19                                                         ` Philippe De Muyter
2017-03-15 18:04                                             ` Pavel Machek
2017-03-15 20:26                                               ` Mauro Carvalho Chehab
2017-03-16 22:11                                                 ` Pavel Machek
2017-03-20 13:24                                       ` [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline Hans Verkuil
2017-03-20 15:39                                         ` Mauro Carvalho Chehab
2017-03-20 16:10                                           ` Russell King - ARM Linux
     [not found]                                             ` <20170320161003.GO21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-20 17:37                                               ` Mauro Carvalho Chehab
     [not found]                                     ` <e0a6c60b-1735-de0b-21f4-d8c3f4b3f10f-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2017-03-17 11:42                                       ` Russell King - ARM Linux
2017-03-17 11:55                                         ` Sakari Ailus
2017-03-17 13:24                                           ` Mauro Carvalho Chehab
     [not found]                                             ` <20170317102410.18c966ae-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-17 13:51                                               ` Philipp Zabel
2017-03-17 14:37                                                 ` Russell King - ARM Linux
2017-03-20 13:10                                                   ` Hans Verkuil
2017-03-20 15:06                                                     ` Mauro Carvalho Chehab
2017-03-21 11:11                                               ` Pavel Machek
2017-03-20 11:16                                           ` Hans Verkuil
2017-03-17 12:02                                         ` Philipp Zabel
2017-03-17 12:16                                           ` Russell King - ARM Linux
2017-03-17 17:49                                             ` Mauro Carvalho Chehab
2017-03-19 13:25                                         ` Pavel Machek
2017-03-26 16:44                                       ` Laurent Pinchart
2017-03-10 15:26               ` Mauro Carvalho Chehab
2017-03-10 15:57                 ` Russell King - ARM Linux
2017-03-10 17:06                   ` Russell King - ARM Linux
2017-03-10 20:42                   ` Mauro Carvalho Chehab
2017-03-10 21:55                     ` Pavel Machek
2017-03-10 15:09             ` Mauro Carvalho Chehab
     [not found]               ` <20170310120902.1daebc7b-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-11 11:32                 ` Hans Verkuil
2017-03-11 13:14                   ` Mauro Carvalho Chehab
     [not found]                     ` <20170311101408.272a9187-ch4gOOMV7nf/PtFMR13I2A@public.gmane.org>
2017-03-11 15:32                       ` Sakari Ailus
2017-03-11 17:32                         ` Russell King - ARM Linux
     [not found]                         ` <20170311153229.yrdjmggb3p2suhdw-5TBSa+ebGXJ82hYKe6nXyg@public.gmane.org>
2017-03-11 18:08                           ` Steve Longerbeam
2017-03-11 18:45                             ` Russell King - ARM Linux
     [not found]                               ` <20170311184551.GD21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-11 18:54                                 ` Steve Longerbeam
2017-03-11 18:59                                   ` Russell King - ARM Linux
     [not found]                                     ` <20170311185959.GF21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-11 19:06                                       ` Steve Longerbeam
2017-03-11 20:41                                         ` Russell King - ARM Linux
2017-03-12  3:31                                     ` Steve Longerbeam
2017-03-12  7:37                                       ` Russell King - ARM Linux
     [not found]                                         ` <20170312073745.GI21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-12 17:56                                           ` Steve Longerbeam
     [not found]                                             ` <fba73c10-4b95-f0d2-e681-0b14ef1fbc1c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-12 21:58                                               ` Mauro Carvalho Chehab
2017-03-26  9:12                                                 ` script to setup pipeline was " Pavel Machek
2017-03-13 10:44                                               ` Hans Verkuil
2017-03-13 10:58                                                 ` Russell King - ARM Linux
2017-03-13 11:08                                                   ` Hans Verkuil
2017-03-13 11:42                                                   ` Mauro Carvalho Chehab
2017-03-13 12:35                                                     ` Russell King - ARM Linux
2017-03-12 18:14                                         ` Pavel Machek
2017-03-11 20:26                             ` Pavel Machek
2017-03-11 20:33                               ` Steve Longerbeam
2017-03-11 21:30                       ` Pavel Machek
2017-02-16  2:19 ` [PATCH v4 15/36] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-02-19 22:02   ` Pavel Machek
2017-02-21  9:11     ` Philipp Zabel
     [not found]       ` <1487668265.2331.23.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-02-24 20:09         ` Pavel Machek
2017-02-27 14:41   ` Rob Herring
2017-03-01  0:20     ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 16/36] UAPI: Add media UAPI Kbuild file Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 17/36] media: Add userspace header file for i.MX Steve Longerbeam
     [not found]   ` <1487211578-11360-18-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 11:33     ` Philipp Zabel
     [not found]       ` <1487244825.2377.39.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-02-22 23:54         ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 18/36] media: Add i.MX media core driver Steve Longerbeam
     [not found]   ` <1487211578-11360-19-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 10:27     ` Russell King - ARM Linux
2017-02-16 17:53       ` Steve Longerbeam
2017-02-16 13:02     ` Philipp Zabel
2017-02-16 13:44       ` Russell King - ARM Linux
     [not found]       ` <1487250123.2377.53.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-02-17  1:33         ` Steve Longerbeam
     [not found]           ` <c22dfd68-a41c-08d2-4b8d-c7ee1884ea31-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-02-17  8:34             ` Philipp Zabel
2017-02-16  2:19 ` [PATCH v4 19/36] media: imx: Add Capture Device Interface Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 21/36] media: imx: Add VDIC subdev driver Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 22/36] media: imx: Add IC subdev drivers Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 24/36] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-02-27 14:45   ` Rob Herring
2017-03-01  0:43     ` Steve Longerbeam
     [not found] ` <1487211578-11360-1-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16  2:19   ` [PATCH v4 20/36] media: imx: Add CSI subdev driver Steve Longerbeam
     [not found]     ` <1487211578-11360-21-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 11:52       ` Russell King - ARM Linux
2017-02-16 12:40         ` Russell King - ARM Linux
2017-02-16 13:09           ` Russell King - ARM Linux
2017-02-16 14:20             ` Russell King - ARM Linux
     [not found]               ` <20170216142028.GP27312-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-16 19:07                 ` Steve Longerbeam [this message]
2017-02-16 18:44           ` Steve Longerbeam
2017-02-16 19:09             ` Russell King - ARM Linux
2017-02-16  2:19   ` [PATCH v4 23/36] media: imx: Add MIPI CSI-2 Receiver " Steve Longerbeam
     [not found]     ` <1487211578-11360-24-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 10:28       ` Russell King - ARM Linux
2017-02-16 17:54         ` Steve Longerbeam
2017-02-17 10:47       ` Philipp Zabel
     [not found]         ` <1487328479.3107.21.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-02-17 11:06           ` Russell King - ARM Linux
     [not found]             ` <20170217110616.GD21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-17 11:38               ` Philipp Zabel
2017-02-22 23:38                 ` Steve Longerbeam
2017-02-22 23:41                   ` Steve Longerbeam
2017-02-23  0:06               ` Steve Longerbeam
2017-02-23  0:09                 ` Steve Longerbeam
2017-02-17 14:16         ` Philipp Zabel
2017-02-17 18:27           ` Steve Longerbeam
2017-02-16  2:19   ` [PATCH v4 25/36] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-02-16  2:19   ` [PATCH v4 26/36] media: imx: add support for bayer formats Steve Longerbeam
2017-02-16  2:19   ` [PATCH v4 27/36] media: imx: csi: " Steve Longerbeam
2017-02-16  2:19   ` [PATCH v4 28/36] media: imx: csi: fix crop rectangle changes in set_fmt Steve Longerbeam
2017-02-16 11:05     ` Russell King - ARM Linux
2017-02-16 18:16       ` Steve Longerbeam
2017-02-16  2:19   ` [PATCH v4 32/36] media: imx: csi/fim: add support for frame intervals Steve Longerbeam
2017-02-16  2:38     ` Steve Longerbeam
2017-02-16 11:37   ` [PATCH v4 00/36] i.MX Media Driver Russell King - ARM Linux
2017-02-16 18:30     ` Steve Longerbeam
2017-02-16 22:20   ` Russell King - ARM Linux
     [not found]     ` <20170216222006.GA21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-16 22:27       ` Steve Longerbeam
     [not found]         ` <923326d6-43fe-7328-d959-14fd341e47ae-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-02-16 22:57           ` Russell King - ARM Linux
2017-02-17 10:39             ` Philipp Zabel
2017-02-17 10:56               ` Russell King - ARM Linux
     [not found]                 ` <20170217105624.GC21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-17 11:21                   ` Philipp Zabel
2017-02-18 17:21             ` Steve Longerbeam
2017-02-17 11:43           ` Philipp Zabel
2017-02-17 12:22             ` Sakari Ailus
     [not found]               ` <20170217122213.GQ16975-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-02-17 12:31                 ` Russell King - ARM Linux
2017-02-17 15:04                 ` Philipp Zabel
2017-02-18 11:58                   ` Sakari Ailus
2017-02-16  2:19 ` [PATCH v4 29/36] media: imx: mipi-csi2: enable setting and getting of frame rates Steve Longerbeam
2017-02-18  1:11   ` Steve Longerbeam
     [not found]   ` <1487211578-11360-30-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-18  1:12     ` Steve Longerbeam
2017-02-18  9:23       ` Russell King - ARM Linux
2017-02-18 17:29         ` Steve Longerbeam
2017-02-18 18:08           ` Russell King - ARM Linux
2017-02-20 22:04     ` Sakari Ailus
2017-02-20 22:56       ` Steve Longerbeam
     [not found]         ` <6892fb15-2d18-4898-c328-3acff9d6cc39-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-02-20 23:47           ` Steve Longerbeam
2017-02-21 12:15           ` Sakari Ailus
2017-02-21 22:21             ` Steve Longerbeam
2017-02-21 23:34               ` Steve Longerbeam
     [not found]       ` <20170220220409.GX16975-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-02-21  0:13         ` Russell King - ARM Linux
2017-02-21  0:18           ` Steve Longerbeam
     [not found]             ` <25596b21-70de-5e46-f149-f9ce3a86ecb7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-02-21  8:50               ` Philipp Zabel
2017-03-13 13:16                 ` Sakari Ailus
2017-03-13 13:27                   ` Russell King - ARM Linux
     [not found]                     ` <20170313132701.GJ21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-13 13:55                       ` Philipp Zabel
2017-03-13 18:06                         ` Steve Longerbeam
     [not found]                           ` <27397114-7d77-2353-c526-bddd5f5297d9-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-13 21:03                             ` Sakari Ailus
     [not found]                               ` <20170313210349.GD10701-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-03-13 21:29                                 ` Russell King - ARM Linux
2017-03-14  7:34                               ` Hans Verkuil
     [not found]                                 ` <4ed15eae-b6c6-55f7-1c6c-9ea84466ed71-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2017-03-14 10:43                                   ` Philipp Zabel
2017-03-13 20:56                     ` Sakari Ailus
2017-03-13 21:07                       ` Russell King - ARM Linux
     [not found]           ` <20170221001332.GS21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-21 12:37             ` Sakari Ailus
     [not found]               ` <20170221123756.GI16975-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-02-21 13:21                 ` Russell King - ARM Linux
     [not found]                   ` <20170221132132.GU21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-21 15:38                     ` Sakari Ailus
     [not found]                       ` <20170221153834.GL16975-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-02-21 16:03                         ` Russell King - ARM Linux
     [not found]                           ` <20170221160332.GW21222-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-02-21 16:15                             ` Sakari Ailus
2017-02-16  2:19 ` [PATCH v4 30/36] media: imx: update capture dev format on IDMAC output pad set_fmt Steve Longerbeam
     [not found]   ` <1487211578-11360-31-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 11:29     ` Philipp Zabel
2017-02-16  2:19 ` [PATCH v4 31/36] media: imx: csi: add __csi_get_fmt Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 33/36] media: imx: redo pixel format enumeration and negotiation Steve Longerbeam
     [not found]   ` <1487211578-11360-34-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-02-16 11:32     ` Philipp Zabel
2017-02-22 23:52       ` Steve Longerbeam
2017-02-23  9:10         ` Philipp Zabel
2017-02-24  1:30           ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 34/36] media: imx: csi: add frame skipping support Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 35/36] media: imx: csi: fix crop rectangle reset in sink set_fmt Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 36/36] media: imx: propagate sink pad formats to source pads Steve Longerbeam
2017-02-16 11:29   ` Philipp Zabel
2017-02-16 18:19     ` Steve Longerbeam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=925f444d-e5b0-7c5b-b5d0-6b66b8045c2d@gmail.com \
    --to=slongerbeam-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=bparrot-l0cyMroinI0@public.gmane.org \
    --cc=devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org \
    --cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
    --cc=jean-christophe.trotin-qxv4g6HH51o@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=markus.heiser-O6JHGLzbNUwb1SvskN2V4Q@public.gmane.org \
    --cc=mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=mchehab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=nick-gcszYUEDH4VrovVCs/uTlw@public.gmane.org \
    --cc=niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org \
    --cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=pavel-+ZI9xUNit7I@public.gmane.org \
    --cc=robert.jarzmik-GANU6spQydw@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org \
    --cc=tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).