diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/if_dc_pci.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/dev/pci/if_dc_pci.c b/sys/dev/pci/if_dc_pci.c index f70398a7ad2..1aa2a07580f 100644 --- a/sys/dev/pci/if_dc_pci.c +++ b/sys/dev/pci/if_dc_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_dc_pci.c,v 1.41 2003/10/07 14:11:04 fgsch Exp $ */ +/* $OpenBSD: if_dc_pci.c,v 1.42 2003/10/21 21:48:07 deraadt Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -102,6 +102,7 @@ struct dc_type dc_devs[] = { { PCI_VENDOR_ACCTON, PCI_PRODUCT_ACCTON_EN2242 }, { PCI_VENDOR_CONEXANT, PCI_PRODUCT_CONEXANT_RS7112 }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_21145 }, + { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3CSHO100BTX }, { 0, 0 } }; @@ -324,6 +325,17 @@ void dc_pci_attach(parent, self, aux) pci_conf_write(pc, pa->pa_tag, DC_PCI_CFLT, command); } break; + case PCI_VENDOR_3COM: + if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_3COM_3CSHO100BTX) { + found = 1; + sc->dc_type = DC_TYPE_AN983; + sc->dc_flags |= DC_TX_USE_TX_INTR; + sc->dc_flags |= DC_TX_ADMTEK_WAR; + sc->dc_pmode = DC_PMODE_MII; + } + dc_eeprom_width(sc); + dc_read_srom(sc, sc->dc_romwidth); + break; case PCI_VENDOR_ADMTEK: if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADMTEK_AL981) { found = 1; |