Commit f98a5c2e authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Sakari Ailus
Browse files

media: exynos4-is: don't rely on the v4l2_async_subdev internals



Commit 1f391df4 ("media: v4l2-async: Use endpoints in
__v4l2_async_nf_add_fwnode_remote()") changed the data that is stored in
the v4l2_async_subdev internals from the fwnode pointer to the parent
device to the fwnode pointer to the matched endpoint. This broke the
sensor matching code, which relied on the particular fwnode data in the
v4l2_async_subdev internals. Fix this by simply matching the
v4l2_async_subdev pointer, which is already available there.

Reported-by: default avatarDaniel Scally <djrscally@gmail.com>
Fixes: fa91f105 ("[media] exynos4-is: Add support for asynchronous subdevices registration")
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: default avatarDaniel Scally <djrscally@gmail.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
parent c95770e4
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -1380,9 +1380,7 @@ static int subdev_notifier_bound(struct v4l2_async_notifier *notifier,

	/* Find platform data for this sensor subdev */
	for (i = 0; i < ARRAY_SIZE(fmd->sensor); i++)
		if (fmd->sensor[i].asd &&
		    fmd->sensor[i].asd->match.fwnode ==
		    of_fwnode_handle(subdev->dev->of_node))
		if (fmd->sensor[i].asd == asd)
			si = &fmd->sensor[i];

	if (si == NULL)