From daa5c16bacd159b911d28368cbfa62a0dde028ea Mon Sep 17 00:00:00 2001 From: bde Date: Sun, 17 Mar 2002 04:10:38 +0000 Subject: 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 Tested by: Arjan Knepper Scott Klement --- sys/dev/cy/cy_pci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/dev/cy/cy_pci.c') diff --git a/sys/dev/cy/cy_pci.c b/sys/dev/cy/cy_pci.c index ca128af..a806731 100644 --- a/sys/dev/cy/cy_pci.c +++ b/sys/dev/cy/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: -- cgit v1.1