Mailing List Archive

[xen stable-4.16] ns16550: fix an incorrect assignment to uart->io_size
commit 0fd9ad2b9c0c9d9c4879a566f1788d3e9cd38ef6
Author: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
AuthorDate: Tue Feb 7 17:05:56 2023 +0100
Commit: Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 7 17:05:56 2023 +0100

ns16550: fix an incorrect assignment to uart->io_size

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>
master commit: 352c89f72ddb67b8d9d4e492203f8c77f85c8df1
master date: 2023-01-24 16:54:38 +0100
---
xen/drivers/char/ns16550.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 2d2bd2a024..5dd4d723f5 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1780,7 +1780,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;

--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.16