riscv64/uart/sifive: If we get an invalid clock, skip setting baud

* Prevents us breaking a potentially working serial uart.

Change-Id: I57bed42cfa571d3d961ee07f380c96b62c7f34d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8798
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Alexander von Gluck
2025-01-09 02:50:32 +00:00
parent 1a6cfd7849
commit bba724134f
@@ -37,7 +37,13 @@ ArchUARTSifive::Init()
void void
ArchUARTSifive::InitPort(uint32 baud) ArchUARTSifive::InitPort(uint32 baud)
{ {
uint64 quotient = (Clock() + baud - 1) / baud; int64 clock = Clock();
// if we get an invalid clock for some reason, just accept the currently set baud.
if (clock < 0)
return;
uint64 quotient = (clock + baud - 1) / baud;
if (quotient == 0) if (quotient == 0)
Regs()->div = 0; Regs()->div = 0;