]> xenbits.xensource.com Git - xen.git/commitdiff
ns16550: fix an incorrect assignment to uart->io_size
authorAyan Kumar Halder <ayan.kumar.halder@amd.com>
Tue, 24 Jan 2023 15:54:38 +0000 (16:54 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 24 Jan 2023 15:54:38 +0000 (16:54 +0100)
uart->io_size represents the size in bytes. Thus, when serial_port.bit_width
is assigned to it, it should be converted to size in bytes.

Fixes: 17b516196c ("ns16550: add ACPI support for ARM only")
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/drivers/char/ns16550.c

index 7e22e687fbf580aefd6e06a2de3f98185b705b36..4ce74b3cd3b837925e6e371ca624710dbe9fb48b 100644 (file)
@@ -1875,7 +1875,7 @@ static int __init ns16550_acpi_uart_init(const void *data)
     uart->parity = spcr->parity;
     uart->stop_bits = spcr->stop_bits;
     uart->io_base = spcr->serial_port.address;
-    uart->io_size = spcr->serial_port.bit_width;
+    uart->io_size = DIV_ROUND_UP(spcr->serial_port.bit_width, BITS_PER_BYTE);
     uart->reg_shift = spcr->serial_port.bit_offset;
     uart->reg_width = spcr->serial_port.access_width;