dm: avoid NULL dereference in lists_bind_fdt()

If parameter drv of lists_bind_fdt() is specified, we want to bind to this
specific driver even if its field of_match is NULL.

If entry->of_match is NULL, we should not dereference it in a debug
statement.

Fixes: d3e773613b ("dm: core: Use U-Boot logging instead of pr_debug()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Heinrich Schuchardt 2022-07-11 08:21:31 +02:00 committed by Simon Glass
parent 59ec024e56
commit 7a6f5a4ea1

View File

@ -241,9 +241,10 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
} }
} }
log_debug(" - found match at '%s': '%s' matches '%s'\n", if (entry->of_match)
entry->name, entry->of_match->compatible, log_debug(" - found match at '%s': '%s' matches '%s'\n",
id->compatible); entry->name, entry->of_match->compatible,
id->compatible);
ret = device_bind_with_driver_data(parent, entry, name, ret = device_bind_with_driver_data(parent, entry, name,
id->data, node, &dev); id->data, node, &dev);
if (ret == -ENODEV) { if (ret == -ENODEV) {