aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJonas Karlman <jonas@kwiboo.se>2023-08-31 22:16:33 +0000
committerTom Rini <trini@konsulko.com>2023-09-13 15:52:20 -0400
commitfeb4b919abf39f39faf660ef3d9aedebb54f5db5 (patch)
treebcdfdcb2064cbe5c297d5d37e654b8fe495c317b /test
parentcba79a1b2e1155eb69802cc9a8e7d1d856237f67 (diff)
downloadu-boot-feb4b919abf39f39faf660ef3d9aedebb54f5db5.zip
u-boot-feb4b919abf39f39faf660ef3d9aedebb54f5db5.tar.gz
u-boot-feb4b919abf39f39faf660ef3d9aedebb54f5db5.tar.bz2
phy: Set phy->dev to NULL when generic_phy_get_by_name() fails
generic_phy_get_by_name() does not initialize phy->dev to NULL before returning when dev_read_stringlist_search() fails. This can lead to an uninitialized or reused struct phy erroneously be report as valid by generic_phy_valid(). Fix this issue by initializing phy->dev to NULL, also extend the dm_test_phy_base test with calls to generic_phy_valid(). Fixes: b9688df3cbf4 ("drivers: phy: Set phy->dev to NULL when generic_phy_get_by_index() fails") Fixes: 868d58f69c7c ("usb: dwc3: Fix non-usb3 configurations") Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Diffstat (limited to 'test')
-rw-r--r--test/dm/phy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/dm/phy.c b/test/dm/phy.c
index 4d4a083..09329b9 100644
--- a/test/dm/phy.c
+++ b/test/dm/phy.c
@@ -29,7 +29,9 @@ static int dm_test_phy_base(struct unit_test_state *uts)
* Get the same phy port in 2 different ways and compare.
*/
ut_assertok(generic_phy_get_by_name(parent, "phy1", &phy1_method1));
+ ut_assert(generic_phy_valid(&phy1_method1));
ut_assertok(generic_phy_get_by_index(parent, 0, &phy1_method2));
+ ut_assert(generic_phy_valid(&phy1_method2));
ut_asserteq(phy1_method1.id, phy1_method2.id);
/*
@@ -50,6 +52,10 @@ static int dm_test_phy_base(struct unit_test_state *uts)
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_PHY, 4, &dev));
ut_asserteq(-ENODATA, generic_phy_get_by_name(parent,
"phy_not_existing", &phy1_method1));
+ ut_assert(!generic_phy_valid(&phy1_method1));
+ ut_asserteq(-ENOENT, generic_phy_get_by_index(parent, 3,
+ &phy1_method2));
+ ut_assert(!generic_phy_valid(&phy1_method2));
return 0;
}