Commit 30c1886a authored by Sakari Ailus's avatar Sakari Ailus Committed by Hans Verkuil
Browse files

media: xilinx-vipp: Look for entities also in waiting_list



The big V4L2 async framework overhaul simplified linked lists used by the
V4L2 async framework. This affected a few drivers and it turns out a few
of those drivers rely on searching for entities in both async notifier's
waiting and done lists. Do that by separately traversing both.

Fixes: 9bf19fbf ("media: v4l: async: Rework internal lists")
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent 4800021c
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -55,12 +55,19 @@ xvip_graph_find_entity(struct xvip_composite_device *xdev,
{
	struct xvip_graph_entity *entity;
	struct v4l2_async_connection *asd;
	struct list_head *lists[] = {
		&xdev->notifier.done_list,
		&xdev->notifier.waiting_list
	};
	unsigned int i;

	list_for_each_entry(asd, &xdev->notifier.done_list, asc_entry) {
	for (i = 0; i < ARRAY_SIZE(lists); i++) {
		list_for_each_entry(asd, lists[i], asc_entry) {
			entity = to_xvip_entity(asd);
			if (entity->asd.match.fwnode == fwnode)
				return entity;
		}
	}

	return NULL;
}