From fb02f8eeb88375f3fa072bbac7788bac82b9576b Mon Sep 17 00:00:00 2001 From: Søren Schmidt Date: Wed, 8 Jan 2003 17:44:36 +0000 Subject: Dont attach a Promise chip located behind a i960 bridge/chip. This makes it possible to run a Promise SuperTrak SX6000 with OS type set to "Other" as well as "Linux". --- sys/dev/ata/ata-pci.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index ca545fa8f860d..d4375fa99940a 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -287,10 +287,22 @@ ata_pci_match(device_t dev) } return "Promise TX2 ATA100 controller"; - case 0x4d69105a: case 0x5275105a: - case 0x6269105a: case 0x7275105a: + { + uintptr_t devid = 0; + + /* if we are on a SuperTrak SX6000 dont attach */ + if (!BUS_READ_IVAR(device_get_parent(GRANDPARENT(dev)), + GRANDPARENT(dev), PCI_IVAR_DEVID, &devid) && + devid == 0x09628086 && + pci_get_class(GRANDPARENT(dev)) == PCIC_BRIDGE) + break; + } + /* FALLTHROUGH */ + + case 0x4d69105a: + case 0x6269105a: return "Promise TX2 ATA133 controller"; case 0x00041103: -- cgit v1.3