On Wed, Mar 31, 2021 at 12:43:12PM +0200, Adrien Grassein wrote: > @@ -635,13 +636,16 @@ static int lt8912_parse_dt(struct lt8912 *lt) > lt->gp_reset = gp_reset; > > endpoint = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1); > - if (IS_ERR(endpoint)) { > - ret = PTR_ERR(endpoint); > - goto end; > - } > + if (!endpoint) > + return -ENODEV; > > - lt->data_lanes = of_property_count_u32_elems(endpoint, "data-lanes"); > + data_lanes = of_property_count_u32_elems(endpoint, "data-lanes"); > of_node_put(endpoint); > + if (data_lanes < 0) { > + dev_err(lt->dev, "%s: Bad data-lanes property\n", __func__); > + return lt->data_lanes; return data_lanes; > + } > + lt->data_lanes = data_lanes; > > lt->host_node = of_graph_get_remote_node(dev->of_node, 0, -1); > if (!lt->host_node) { > @@ -658,16 +662,18 @@ static int lt8912_parse_dt(struct lt8912 *lt) > } > > lt->hdmi_port = of_drm_find_bridge(port_node); > - if (IS_ERR(lt->hdmi_port)) { > + if (!lt->hdmi_port) { > dev_err(lt->dev, "%s: Failed to get hdmi port\n", __func__); > - ret = PTR_ERR(lt->hdmi_port); > - of_node_put(lt->host_node); > - goto end; > + ret = -ENODEV; > + of_node_put(port_node); > + goto err_free_host_node; > } > > if (!of_device_is_compatible(port_node, "hdmi-connector")) { > dev_err(lt->dev, "%s: Failed to get hdmi port\n", __func__); > + of_node_put(port_node); > ret = -EINVAL; > + goto err_free_host_node; > } > > of_node_put(port_node); Also, btw the success path does "return ret;" but it would be nicer to "return 0;". regards, dan carpenter _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel