diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2022-07-11 09:21:31 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2022-07-26 11:30:56 +0300 |
commit | 7a6f5a4ea119441cb114b4239862f042501a6e5e (patch) | |
tree | 9621dc3ced6977d876c7a7fb631d52099c808dd0 /drivers/core | |
parent | 59ec024e563c9faab52f1c86736102562201c5fc (diff) | |
download | u-boot-7a6f5a4ea119441cb114b4239862f042501a6e5e.tar.xz |
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: d3e773613b6d ("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>
Diffstat (limited to 'drivers/core')
-rw-r--r-- | drivers/core/lists.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/core/lists.c b/drivers/core/lists.c index 22ccd9faaa..93514a744d 100644 --- a/drivers/core/lists.c +++ b/drivers/core/lists.c @@ -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", - entry->name, entry->of_match->compatible, - id->compatible); + if (entry->of_match) + log_debug(" - found match at '%s': '%s' matches '%s'\n", + entry->name, entry->of_match->compatible, + id->compatible); ret = device_bind_with_driver_data(parent, entry, name, id->data, node, &dev); if (ret == -ENODEV) { |