diff options
author | njl <njl@FreeBSD.org> | 2005-02-04 18:07:03 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2005-02-04 18:07:03 +0000 |
commit | 6701a5bbfebafd343fd6d2bb9fa27bb85720bf59 (patch) | |
tree | 8da72966ceaeba93ed535742df98570452c77ee3 | |
parent | d00831d3e069584355266cc3a8e6a0072f7ba229 (diff) | |
download | FreeBSD-src-6701a5bbfebafd343fd6d2bb9fa27bb85720bf59.zip FreeBSD-src-6701a5bbfebafd343fd6d2bb9fa27bb85720bf59.tar.gz |
Return a special status of "not supported" for functional fixed hardware
since this type of register should be handled by another driver.
-rw-r--r-- | sys/dev/acpica/acpi_package.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/acpica/acpi_package.c b/sys/dev/acpica/acpi_package.c index 41f7581..1ed55e4 100644 --- a/sys/dev/acpica/acpi_package.c +++ b/sys/dev/acpica/acpi_package.c @@ -111,12 +111,12 @@ acpi_PkgGas(device_t dev, ACPI_OBJECT *res, int idx, int *rid, obj = &res->Package.Elements[idx]; if (obj == NULL || obj->Type != ACPI_TYPE_BUFFER || - obj->Buffer.Length < sizeof(ACPI_GENERIC_ADDRESS) + 3) { - + obj->Buffer.Length < sizeof(ACPI_GENERIC_ADDRESS) + 3) return (EINVAL); - } memcpy(&gas, obj->Buffer.Pointer + 3, sizeof(gas)); + if (gas.AddressSpaceId == ACPI_ADR_SPACE_FIXED_HARDWARE) + return (EOPNOTSUPP); *dst = acpi_bus_alloc_gas(dev, rid, &gas); if (*dst == NULL) return (ENXIO); |