Check all entries in the ACPI uart compat table and not just the first.
Sponsored by: DARPA, AFRL
This commit is contained in:
parent
11d5ba38ab
commit
104518ad6d
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user