diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-10-07 04:47:33 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-10-07 04:47:33 +0000 |
commit | f20727844f678bc6a1685af7d49cbee34712a3b5 (patch) | |
tree | b1d70037b4289b62cc70dcd6542ff7f95b305525 /sys/dev/isa | |
parent | 0351e8b058ff254664acbc64909e3fdd155d4fcd (diff) |
do not modify ia_iosize, use another temporary
Diffstat (limited to 'sys/dev/isa')
-rw-r--r-- | sys/dev/isa/lpt_isa.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/dev/isa/lpt_isa.c b/sys/dev/isa/lpt_isa.c index e6e3a9af083..398380ed306 100644 --- a/sys/dev/isa/lpt_isa.c +++ b/sys/dev/isa/lpt_isa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lpt_isa.c,v 1.4 1997/09/30 18:56:25 mickey Exp $ */ +/* $OpenBSD: lpt_isa.c,v 1.5 1997/10/07 04:47:32 deraadt Exp $ */ /* * Copyright (c) 1993, 1994 Charles Hannum. @@ -102,7 +102,7 @@ lpt_isa_probe(parent, match, aux) bus_space_handle_t ioh; bus_addr_t base; u_int8_t mask, data; - int i, rv; + int i, rv, iosz; #ifdef DEBUG #define ABORT \ @@ -117,9 +117,8 @@ lpt_isa_probe(parent, match, aux) iot = ia->ia_iot; base = ia->ia_iobase; - if (ia->ia_iosize == -1) - ia->ia_iosize = LPT_NPORTS; - if (bus_space_map(iot, base, ia->ia_iosize, 0, &ioh)) + iosz = (ia->ia_iosize == -1) ? LPT_NPORTS : ia->ia_iosize; + if (bus_space_map(iot, base, iosz, 0, &ioh)) return 0; rv = 0; @@ -153,7 +152,7 @@ lpt_isa_probe(parent, match, aux) rv = 1; out: - bus_space_unmap(iot, ioh, ia->ia_iosize); + bus_space_unmap(iot, ioh, iosz); return rv; } @@ -166,6 +165,7 @@ lpt_isa_attach(parent, self, aux) struct isa_attach_args *ia = aux; bus_space_tag_t iot; bus_space_handle_t ioh; + int iosz; if (ia->ia_irq != IRQUNK) printf("\n"); @@ -177,7 +177,8 @@ lpt_isa_attach(parent, self, aux) sc->sc_state = 0; iot = sc->sc_iot = ia->ia_iot; - if (bus_space_map(iot, ia->ia_iobase, ia->ia_iosize, 0, &ioh)) + iosz = (ia->ia_iosize == -1) ? LPT_NPORTS : ia->ia_iosize; + if (bus_space_map(iot, ia->ia_iobase, iosz, 0, &ioh)) panic("lpt_isa_attach: couldn't map I/O ports"); sc->sc_ioh = ioh; |