diff options
| author | Kuan-Wei Chiu <[email protected]> | 2026-06-08 15:47:48 +0000 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-06-23 12:38:01 -0600 |
| commit | 2bc9c58e7f09e5c5383ad63f85f35b686d63c0bf (patch) | |
| tree | 67d6309661a9bbb8da29649167e62e7ed1fff3be | |
| parent | d73aed0b0571828c7ee308adcb1bb1145892dfd1 (diff) | |
timer: goldfish: Return error when device address is invalid
goldfish_timer_of_to_plat() currently returns success even when
dev_read_addr() fails to find a valid address. This leaves plat->reg
unset and defers the failure to probe().
Return -EINVAL immediately when the address is FDT_ADDR_T_NONE so the
failure is reported at the of_to_plat stage where it belongs. This
aligns the driver with the recent fix introduced in the goldfish
serial driver by Naveen Kumar Chaudhary. [1]
Link: https://lore.kernel.org/u-boot/vgwnt6mnls3lf3zdm6mz5siztzkvppte4ykszbvifjzukvmksf@maaxe5agqpim/ [1]
Signed-off-by: Kuan-Wei Chiu <[email protected]>
| -rw-r--r-- | drivers/timer/goldfish_timer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/timer/goldfish_timer.c b/drivers/timer/goldfish_timer.c index 91277d7932a..59ce43fcb46 100644 --- a/drivers/timer/goldfish_timer.c +++ b/drivers/timer/goldfish_timer.c @@ -45,8 +45,10 @@ static int goldfish_timer_of_to_plat(struct udevice *dev) fdt_addr_t addr; addr = dev_read_addr(dev); - if (addr != FDT_ADDR_T_NONE) - plat->reg = addr; + if (addr == FDT_ADDR_T_NONE) + return -EINVAL; + + plat->reg = addr; return 0; } |
