Check all entries in the ACPI uart compat table and not just the first.

Sponsored by:	DARPA, AFRL
This commit is contained in:
Andrew Turner 2018-02-26 08:45:38 +00:00
parent 11d5ba38ab
commit 104518ad6d

View File

@ -83,16 +83,23 @@ uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
static struct acpi_uart_compat_data *
uart_cpu_acpi_scan(uint8_t interface_type)
{
struct acpi_uart_compat_data **cd;
struct acpi_uart_compat_data **cd, *curcd;
int i;
SET_FOREACH(cd, uart_acpi_class_and_device_set) {
if ((*cd)->port_subtype == interface_type)
return (*cd);
curcd = *cd;
for (i = 0; curcd[i].hid != NULL; i++) {
if (curcd[i].port_subtype == interface_type)
return (&curcd[i]);
}
}
SET_FOREACH(cd, uart_acpi_class_set) {
if ((*cd)->port_subtype == interface_type)
return (*cd);
curcd = *cd;
for (i = 0; curcd[i].hid != NULL; i++) {
if (curcd[i].port_subtype == interface_type)
return (&curcd[i]);
}
}
return (NULL);