Not all endpoints of camss have to be populated. In fact, most of the time they shouldn't be as n-th auxilliary cameras are usually ewaste. Don't fail probing the entire camss even even one endpoint is not linked and throw an error when none is found. Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> --- drivers/media/platform/qcom/camss/camss.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 1ef26aea3eae..3aa03fbc94e2 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -1084,9 +1084,8 @@ static int camss_of_parse_ports(struct camss *camss) remote = of_graph_get_remote_port_parent(node); if (!remote) { - dev_err(dev, "Cannot get remote parent\n"); - ret = -EINVAL; - goto err_cleanup; + of_node_put(node); + continue; } csd = v4l2_async_nf_add_fwnode(&camss->notifier, @@ -1105,7 +1104,7 @@ static int camss_of_parse_ports(struct camss *camss) num_subdevs++; } - return num_subdevs; + return num_subdevs ? num_subdevs : -EINVAL; err_cleanup: of_node_put(node); --- base-commit: b16049b21162bb649cdd8519642a35972b7910fe change-id: 20230614-topic-camss_grpah-39f9a4f7420c Best regards, -- Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>