Hi,
On Fri, Jun 4, 2021 at 9:10 AM rajeevny@codeaurora.org wrote:
Hi Doug,
panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd"); if (!panel->no_hpd) {
@@ -708,6 +712,8 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
if (!panel->ddc) return -EPROBE_DEFER;
} else if (aux) {
panel->ddc = &aux->ddc; }
In panel_simple_probe(), the put_device(&panel->ddc->dev) call is causing issue when the aux->ddc is used to assign panel->ddc It works well when "ddc-i2c-bus" is used to assign panel->ddc
static int panel_simple_probe(...) { ...
free_ddc: if (panel->ddc) put_device(&panel->ddc->dev);
return err;
}
Thanks for catching! Fixed in v9.
-Doug