
22 Oct
2022
22 Oct
'22
3:05 a.m.
The call to device_bind_with_driver_data() passes id->data but if the entry has no of_match then the id has not been set by the selected driver.
Normally this passes unnoticed since a previous driver likely had an of_match value, so the id is set to that. Of course it is not correct to pass the id->data from a different driver.
With clang-14 the driver ordering is such that the id is never actually set in the 'bind /usb@1 usb_ether' line in test_bind_unbind_with_node() thus causing a crash.
Fix this by passing 0 if the of_match for a driver does not exist.
Signed-off-by: Simon Glass sjg@chromium.org ---
drivers/core/lists.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Applied to u-boot-dm, thanks!