diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2006-03-28 17:04:00 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-04-01 22:07:51 -0500 |
commit | 9224a867c497053842dc595e594ca6d32112221f (patch) | |
tree | c952060abbe5563f15bd7cd69531d4fad3a9aafa /drivers/char/hpet.c | |
parent | 459c7266d7a5c1730169258217e25fdd1b7ca854 (diff) |
HPET: fix ACPI memory range length handling
ACPI address space descriptors contain _MIN, _MAX, and _LEN. _MIN and _MAX
are the bounds within which the region can be moved (this is clarified in
Table 6-38 of the ACPI 3.0 spec). We should use _LEN to determine the size
of the region, not _MAX - _MIN + 1.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/char/hpet.c')
-rw-r--r-- | drivers/char/hpet.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index ef140ebde11..07473cd8412 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c @@ -925,11 +925,8 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data) status = acpi_resource_to_address64(res, &addr); if (ACPI_SUCCESS(status)) { - unsigned long size; - - size = addr.maximum - addr.minimum + 1; hdp->hd_phys_address = addr.minimum; - hdp->hd_address = ioremap(addr.minimum, size); + hdp->hd_address = ioremap(addr.minimum, addr.address_length); if (hpet_is_known(hdp)) { printk(KERN_DEBUG "%s: 0x%lx is busy\n", |