diff options
| author | Heinrich Schuchardt <[email protected]> | 2022-07-11 08:21:31 +0200 |
|---|---|---|
| committer | Simon Glass <[email protected]> | 2022-07-26 02:30:56 -0600 |
| commit | 7a6f5a4ea119441cb114b4239862f042501a6e5e (patch) | |
| tree | 9621dc3ced6977d876c7a7fb631d52099c808dd0 | |
| parent | 59ec024e563c9faab52f1c86736102562201c5fc (diff) | |
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 <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
| -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 22ccd9faaa9..93514a744d9 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) { |
