Parsing the graph endpoint is always successful; therefore parse it as
last.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Tested-by: Steve Longerbeam <steve_longerb...@mentor.com>
---
 drivers/media/v4l2-core/v4l2-fwnode.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c 
b/drivers/media/v4l2-core/v4l2-fwnode.c
index dbe0ada74c63..bdb0a355b66b 100644
--- a/drivers/media/v4l2-core/v4l2-fwnode.c
+++ b/drivers/media/v4l2-core/v4l2-fwnode.c
@@ -308,7 +308,11 @@ static int __v4l2_fwnode_endpoint_parse(struct 
fwnode_handle *fwnode,
 
        pr_debug("===== begin V4L2 endpoint properties\n");
 
-       fwnode_graph_parse_endpoint(fwnode, &vep->base);
+       /*
+        * Zero the fwnode graph endpoint memory in case we don't end up parsing
+        * the endpoint.
+        */
+       memset(&vep->base, 0, sizeof(vep->base));
 
        /* Zero fields from bus_type to until the end */
        memset(&vep->bus_type, 0, sizeof(*vep) -
@@ -351,6 +355,8 @@ static int __v4l2_fwnode_endpoint_parse(struct 
fwnode_handle *fwnode,
                return -EINVAL;
        }
 
+       fwnode_graph_parse_endpoint(fwnode, &vep->base);
+
        return 0;
 }
 
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to