diff options
author | bde <bde@FreeBSD.org> | 2002-03-17 04:10:38 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2002-03-17 04:10:38 +0000 |
commit | daa5c16bacd159b911d28368cbfa62a0dde028ea (patch) | |
tree | b21efad5f4c6ffe2503dadd88de8e75995e4408f /sys/pci/cy_pci.c | |
parent | 227f4f1377adfc8f4a63826da35c5e87456a473e (diff) | |
download | FreeBSD-src-daa5c16bacd159b911d28368cbfa62a0dde028ea.zip FreeBSD-src-daa5c16bacd159b911d28368cbfa62a0dde028ea.tar.gz |
Work around a PLX9050 bug that causes system lockup in certain systems,
depending on the MMIO addresses allocated to the board.
PR: 30965, 20845 (maybe)
Submitted by: Daniela Squassoni <daniela@cyclades.com>
Tested by: Arjan Knepper <arjan@jak.nl>
Scott Klement <klemscot@klements.com>
Diffstat (limited to 'sys/pci/cy_pci.c')
-rw-r--r-- | sys/pci/cy_pci.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/pci/cy_pci.c b/sys/pci/cy_pci.c index ca128af..a806731 100644 --- a/sys/pci/cy_pci.c +++ b/sys/pci/cy_pci.c @@ -55,6 +55,7 @@ #define CY_PLX_9060_ICS 0x68 #define CY_PLX_9050_ICS_IENABLE 0x040 #define CY_PLX_9050_ICS_LOCAL_IENABLE 0x001 +#define CY_PLX_9050_ICS_LOCAL_IPOLARITY 0x002 #define CY_PLX_9060_ICS_IENABLE 0x100 #define CY_PLX_9060_ICS_LOCAL_IENABLE 0x800 @@ -177,9 +178,9 @@ cy_pci_attach(dev) plx_ver = *((u_char *)vaddr + PLX_VER) & 0x0f; switch (plx_ver) { case PLX_9050: - outw(ioport + CY_PLX_9050_ICS, - inw(ioport + CY_PLX_9050_ICS) | CY_PLX_9050_ICS_IENABLE | - CY_PLX_9050_ICS_LOCAL_IENABLE); + outw(ioport + CY_PLX_9050_ICS, + CY_PLX_9050_ICS_IENABLE | CY_PLX_9050_ICS_LOCAL_IENABLE | + CY_PLX_9050_ICS_LOCAL_IPOLARITY); break; case PLX_9060: case PLX_9080: |