diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c index ab068c56dc..d8b52eb813 100644 --- a/xen/drivers/char/ns16550.c +++ b/xen/drivers/char/ns16550.c @@ -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); /*