diff options
author | peter <peter@FreeBSD.org> | 2001-10-06 03:49:38 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-10-06 03:49:38 +0000 |
commit | ef8de6ecd980a5f9e0dc588c375b4ec04bf55aef (patch) | |
tree | 1d72b3fdc33e60c09f8d243a5b8aa8d9026c570c /sys/dev/acpica/acpi_pcib_acpi.c | |
parent | c8c1edd0bbc08d04b210c46e861b4c542d74bb70 (diff) | |
download | FreeBSD-src-ef8de6ecd980a5f9e0dc588c375b4ec04bf55aef.zip FreeBSD-src-ef8de6ecd980a5f9e0dc588c375b4ec04bf55aef.tar.gz |
Fix a stack trashing bug when int != sizeof(pointer)
This fixes the ia64 boot! We have scsi disks!
Diffstat (limited to 'sys/dev/acpica/acpi_pcib_acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi_pcib_acpi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index c79714f..d3c1ed1 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -292,6 +292,7 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin) int bus; int interrupt; int i; + uintptr_t up; FUNCTION_TRACE(__func__); @@ -306,7 +307,8 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin) /* find the bridge softc */ if (devclass_get_devices(acpi_pcib_devclass, &devlist, &devcount)) goto out; - BUS_READ_IVAR(pcib, pcib, PCIB_IVAR_BUS, (uintptr_t *)&bus); + BUS_READ_IVAR(pcib, pcib, PCIB_IVAR_BUS, &up); + bus = up; sc = NULL; for (i = 0; i < devcount; i++) { sc = device_get_softc(*(devlist + i)); |