diff options
author | marcel <marcel@FreeBSD.org> | 2007-04-01 06:15:53 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2007-04-01 06:15:53 +0000 |
commit | b8a1b7a9316398564682722951f5250ebc11240b (patch) | |
tree | dce75020f7ded69f130adf56a69cde8be10ed451 | |
parent | fb19bcfb30629587cc3a84f0af69f7debe7e0f6c (diff) | |
download | FreeBSD-src-b8a1b7a9316398564682722951f5250ebc11240b.zip FreeBSD-src-b8a1b7a9316398564682722951f5250ebc11240b.tar.gz |
When writing to PCI configuration registers, don't immediately
read the same register back. It can cause hangs or machine
checks in certain cases. One particular case is with bge(4)
when a reset is initiated for the controller.
MFC after: 1 month
-rw-r--r-- | sys/powerpc/powermac/uninorth.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/sys/powerpc/powermac/uninorth.c b/sys/powerpc/powermac/uninorth.c index fb1674d..97bd80d 100644 --- a/sys/powerpc/powermac/uninorth.c +++ b/sys/powerpc/powermac/uninorth.c @@ -303,15 +303,12 @@ uninorth_write_config(device_t dev, u_int bus, u_int slot, u_int func, switch (width) { case 1: out8rb(caoff, val); - (void)in8rb(caoff); break; case 2: out16rb(caoff, val); - (void)in16rb(caoff); break; case 4: out32rb(caoff, val); - (void)in32rb(caoff); break; } } |