aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Jia <kenneth_jia@asus.com>2024-12-12 20:42:04 +0800
committerCédric Le Goater <clg@redhat.com>2025-01-27 09:38:15 +0100
commit8a139ae719616d85d835528a35f41eb23bfa54c7 (patch)
treeb21c8b2c97e52cc86c8781fce9fb9e742b420b77
parented734377ab3f3f3cc15d7aa301a87ab6370f2eed (diff)
downloadqemu-8a139ae719616d85d835528a35f41eb23bfa54c7.zip
qemu-8a139ae719616d85d835528a35f41eb23bfa54c7.tar.gz
qemu-8a139ae719616d85d835528a35f41eb23bfa54c7.tar.bz2
hw/arm/aspeed: fix connect_serial_hds_to_uarts
In the loop, we need ignore the index increase when uart == uart_chosen We should increase the index only after we allocate a serial. Signed-off-by: Kenneth Jia <kenneth_jia@asus.com> Fixes: d2b3eaefb4d7 ("aspeed: Refactor UART init for multi-SoC machines") Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/r/5f9b0c53f1644922ba85522046e92f4c@asus.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
-rw-r--r--hw/arm/aspeed.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index a18d4ed..2662465 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -364,11 +364,11 @@ static void connect_serial_hds_to_uarts(AspeedMachineState *bmc)
int uart_chosen = bmc->uart_chosen ? bmc->uart_chosen : amc->uart_default;
aspeed_soc_uart_set_chr(s, uart_chosen, serial_hd(0));
- for (int i = 1, uart = sc->uarts_base; i < sc->uarts_num; i++, uart++) {
+ for (int i = 1, uart = sc->uarts_base; i < sc->uarts_num; uart++) {
if (uart == uart_chosen) {
continue;
}
- aspeed_soc_uart_set_chr(s, uart, serial_hd(i));
+ aspeed_soc_uart_set_chr(s, uart, serial_hd(i++));
}
}