mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
ns16550: Re-order the serial port address checking
The serial port address space ID qualifies the address. Whether a value of zero for the serial port address can sensibly mean "disabled" depends on the address space ID. Hence check the address space ID before checking the address. Signed-off-by: Wei Xu <xuwei5@hisilicon.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
5b74f5e428
commit
102b439f91
1 file changed
+6
-6
@@ -1645,6 +1645,12 @@ static int __init ns16550_acpi_uart_init(const void *data)
|
||||
|
||||
spcr = container_of(table, struct acpi_table_spcr, header);
|
||||
|
||||
if ( unlikely(spcr->serial_port.space_id != ACPI_ADR_SPACE_SYSTEM_MEMORY) )
|
||||
{
|
||||
printk("ns16550: Address space type is not mmio\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* The serial port address may be 0 for example
|
||||
* if the console redirection is disabled.
|
||||
@@ -1655,12 +1661,6 @@ static int __init ns16550_acpi_uart_init(const void *data)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ( unlikely(spcr->serial_port.space_id != ACPI_ADR_SPACE_SYSTEM_MEMORY) )
|
||||
{
|
||||
printk("ns16550: Address space type is not mmio\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ns16550_init_common(uart);
|
||||
|
||||
/*
|
||||
|
||||