summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_bwi_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/if_bwi_pci.c')
-rw-r--r--sys/dev/pci/if_bwi_pci.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/pci/if_bwi_pci.c b/sys/dev/pci/if_bwi_pci.c
index 1b03a390a96..abcb1fa4b02 100644
--- a/sys/dev/pci/if_bwi_pci.c
+++ b/sys/dev/pci/if_bwi_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bwi_pci.c,v 1.3 2007/09/13 12:31:47 mglocker Exp $ */
+/* $OpenBSD: if_bwi_pci.c,v 1.4 2007/09/15 07:20:51 jsg Exp $ */
/*
* Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org>
@@ -104,6 +104,7 @@ bwi_pci_attach(struct device *parent, struct device *self, void *aux)
struct bwi_softc *sc = &psc->psc_bwi;
const char *intrstr = NULL;
pci_intr_handle_t ih;
+ pcireg_t reg;
int error;
sc->sc_dmat = pa->pa_dmat;
@@ -142,6 +143,13 @@ bwi_pci_attach(struct device *parent, struct device *self, void *aux)
sc->sc_conf_write = bwi_pci_conf_write;
sc->sc_conf_read = bwi_pci_conf_read;
+ reg = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_SUBSYS_ID_REG);
+
+ sc->sc_pci_revid = PCI_REVISION(pa->pa_class);
+ sc->sc_pci_did = PCI_PRODUCT(pa->pa_id);
+ sc->sc_pci_subvid = PCI_VENDOR(reg);
+ sc->sc_pci_subdid = PCI_PRODUCT(reg);
+
bwi_attach(sc);
}