diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-01-09 15:28:54 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-01-09 15:28:54 +0000 |
commit | 52dbecd0d22e71fd3b999b6e655d8a1633ec2c8b (patch) | |
tree | 6af5a4c2b0047041f1a80c29b3acbd763bcb4303 | |
parent | 9b1f2d47d30d06332a345726f034ff6344c6b43c (diff) |
fix dmesg print and free resources on failures
-rw-r--r-- | sys/dev/pci/fwohci_pci.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sys/dev/pci/fwohci_pci.c b/sys/dev/pci/fwohci_pci.c index 3a8f4c4c793..7dc29c075a7 100644 --- a/sys/dev/pci/fwohci_pci.c +++ b/sys/dev/pci/fwohci_pci.c @@ -1,3 +1,4 @@ +/* $OpenBSD: fwohci_pci.c,v 1.4 2003/01/09 15:28:53 mickey Exp $ */ /* $NetBSD: fwohci_pci.c,v 1.13 2002/01/26 16:30:00 ichiro Exp $ */ /*- @@ -99,14 +100,10 @@ fwohci_pci_attach(struct device *parent, struct device *self, void *aux) { struct pci_attach_args *pa = (struct pci_attach_args *) aux; struct fwohci_pci_softc *psc = (struct fwohci_pci_softc *) self; - char devinfo[256]; char const *intrstr; pci_intr_handle_t ih; u_int32_t csr; - pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo); - printf(": %s (rev. 0x%02x)\n", devinfo, PCI_REVISION(pa->pa_class)); - psc->psc_sc.sc_dmat = pa->pa_dmat; psc->psc_pc = pa->pa_pc; @@ -121,7 +118,7 @@ fwohci_pci_attach(struct device *parent, struct device *self, void *aux) NULL, &psc->psc_sc.sc_memsize, 0)) #endif { - printf("%s: can't map OHCI register space\n", self->dv_xname); + printf(": can't map OHCI register space\n"); return; } @@ -142,7 +139,9 @@ fwohci_pci_attach(struct device *parent, struct device *self, void *aux) /* Map and establish the interrupt. */ if (pci_intr_map(pa, &ih)) { - printf("%s: couldn't map interrupt\n", self->dv_xname); + printf(": couldn't map interrupt\n"); + bus_space_unmap(psc->psc_sc.sc_memt, psc->psc_sc.sc_memh, + psc->psc_sc.sc_memsize); return; } intrstr = pci_intr_string(pa->pa_pc, ih); @@ -154,13 +153,15 @@ fwohci_pci_attach(struct device *parent, struct device *self, void *aux) &psc->psc_sc, self->dv_xname); #endif if (psc->psc_ih == NULL) { - printf("%s: couldn't establish interrupt", self->dv_xname); + printf(": couldn't establish interrupt"); if (intrstr != NULL) printf(" at %s", intrstr); printf("\n"); + bus_space_unmap(psc->psc_sc.sc_memt, psc->psc_sc.sc_memh, + psc->psc_sc.sc_memsize); return; } - printf("%s: interrupting at %s\n", self->dv_xname, intrstr); + printf(": %s\n", intrstr); #ifdef __NetBSD__ if (fwohci_init(&psc->psc_sc, pci_intr_evcnt(pa->pa_pc, ih)) != 0) |