diff options
author | bde <bde@FreeBSD.org> | 2000-04-30 10:01:56 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2000-04-30 10:01:56 +0000 |
commit | 2c5c997046c6e9a4b46da8c795733ef867dc7053 (patch) | |
tree | ae0bd2763d4f3ed2e02b85b96cbb170999920569 /sys/pci/pcisupport.c | |
parent | 8b471affb9f3b118378c27a18ddbeff7fccf2186 (diff) | |
download | FreeBSD-src-2c5c997046c6e9a4b46da8c795733ef867dc7053.zip FreeBSD-src-2c5c997046c6e9a4b46da8c795733ef867dc7053.tar.gz |
Fixed the type of some ivar access functions. Ivars have type uintptr_t,
not u_long. On i386's with 64-bit longs, returning u_longs indirectly
in (more than) the space reserved for uintptr_t's tended to corrupt the
previous frame pointer in the stack frame, so it was not easy to debug.
The type mismatches are hidden by the bogus cast in DEVMETHOD().
Diffstat (limited to 'sys/pci/pcisupport.c')
-rw-r--r-- | sys/pci/pcisupport.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/pci/pcisupport.c b/sys/pci/pcisupport.c index 4ca279e..8d1752f 100644 --- a/sys/pci/pcisupport.c +++ b/sys/pci/pcisupport.c @@ -769,7 +769,7 @@ static int pcib_attach(device_t dev) } static int -pcib_read_ivar(device_t dev, device_t child, int which, u_long *result) +pcib_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { if (which == PCIB_IVAR_HOSE) { /* |