[git:media_stage/fixes] media: xilinx-vipp: Look for entities also in waiting_list

2023-10-13 Thread Hans Verkuil
This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: xilinx-vipp: Look for entities also in waiting_list
Author:  Sakari Ailus 
Date:Fri Sep 29 09:31:08 2023 +0300

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: 9bf19fbf0c8b ("media: v4l: async: Rework internal lists")
Signed-off-by: Sakari Ailus 
Signed-off-by: Mauro Carvalho Chehab 
Signed-off-by: Hans Verkuil 

 drivers/media/platform/xilinx/xilinx-vipp.c | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

---

diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c 
b/drivers/media/platform/xilinx/xilinx-vipp.c
index 4285770fde18..996684a73038 100644
--- a/drivers/media/platform/xilinx/xilinx-vipp.c
+++ b/drivers/media/platform/xilinx/xilinx-vipp.c
@@ -55,11 +55,18 @@ xvip_graph_find_entity(struct xvip_composite_device *xdev,
 {
struct xvip_graph_entity *entity;
struct v4l2_async_connection *asd;
-
-   list_for_each_entry(asd, >notifier.done_list, asc_entry) {
-   entity = to_xvip_entity(asd);
-   if (entity->asd.match.fwnode == fwnode)
-   return entity;
+   struct list_head *lists[] = {
+   >notifier.done_list,
+   >notifier.waiting_list
+   };
+   unsigned int i;
+
+   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;

___
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits


[git:media_stage/fixes] media: xilinx-vipp: Look for entities also in waiting_list

2023-10-11 Thread Hans Verkuil
This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: xilinx-vipp: Look for entities also in waiting_list
Author:  Sakari Ailus 
Date:Fri Sep 29 09:31:08 2023 +0300

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: 9bf19fbf0c8b ("media: v4l: async: Rework internal lists")
Signed-off-by: Sakari Ailus 
Signed-off-by: Hans Verkuil 

 drivers/media/platform/xilinx/xilinx-vipp.c | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

---

diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c 
b/drivers/media/platform/xilinx/xilinx-vipp.c
index 4285770fde18..996684a73038 100644
--- a/drivers/media/platform/xilinx/xilinx-vipp.c
+++ b/drivers/media/platform/xilinx/xilinx-vipp.c
@@ -55,11 +55,18 @@ xvip_graph_find_entity(struct xvip_composite_device *xdev,
 {
struct xvip_graph_entity *entity;
struct v4l2_async_connection *asd;
-
-   list_for_each_entry(asd, >notifier.done_list, asc_entry) {
-   entity = to_xvip_entity(asd);
-   if (entity->asd.match.fwnode == fwnode)
-   return entity;
+   struct list_head *lists[] = {
+   >notifier.done_list,
+   >notifier.waiting_list
+   };
+   unsigned int i;
+
+   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;

___
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits