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:
Wei Xu authored and Jan Beulich committed 2020-02-26 10:56:23 +01:00
1 parent 5b74f5e428
commit 102b439f91
1 file changed
+6 -6
+6 -6
View File
@@ -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);
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.