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
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=330016
@ -83,16 +83,23 @@ uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
|
|||||||
static struct acpi_uart_compat_data *
|
static struct acpi_uart_compat_data *
|
||||||
uart_cpu_acpi_scan(uint8_t interface_type)
|
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) {
|
SET_FOREACH(cd, uart_acpi_class_and_device_set) {
|
||||||
if ((*cd)->port_subtype == interface_type)
|
curcd = *cd;
|
||||||
return (*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) {
|
SET_FOREACH(cd, uart_acpi_class_set) {
|
||||||
if ((*cd)->port_subtype == interface_type)
|
curcd = *cd;
|
||||||
return (*cd);
|
for (i = 0; curcd[i].hid != NULL; i++) {
|
||||||
|
if (curcd[i].port_subtype == interface_type)
|
||||||
|
return (&curcd[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user