diff options
Diffstat (limited to 'usr/src/uts/common/io/iwi')
-rw-r--r-- | usr/src/uts/common/io/iwi/ipw2200.c | 6 | ||||
-rw-r--r-- | usr/src/uts/common/io/iwi/ipw2200_hw.c | 10 |
2 files changed, 7 insertions, 9 deletions
diff --git a/usr/src/uts/common/io/iwi/ipw2200.c b/usr/src/uts/common/io/iwi/ipw2200.c index 505a946a07..d52e069496 100644 --- a/usr/src/uts/common/io/iwi/ipw2200.c +++ b/usr/src/uts/common/io/iwi/ipw2200.c @@ -1014,12 +1014,12 @@ ipw2200_cmd(struct ipw2200_softc *sc, /* * Wait for command done */ + clk = drv_usectohz(5000000); mutex_enter(&sc->sc_ilock); while (sc->sc_done[idx] == 0) { /* pending */ - clk = ddi_get_lbolt() + drv_usectohz(5000000); /* 5 second */ - if (cv_timedwait(&sc->sc_cmd_status_cond, &sc->sc_ilock, clk) - < 0) + if (cv_reltimedwait(&sc->sc_cmd_status_cond, &sc->sc_ilock, + clk, TR_CLOCK_TICK) < 0) break; } mutex_exit(&sc->sc_ilock); diff --git a/usr/src/uts/common/io/iwi/ipw2200_hw.c b/usr/src/uts/common/io/iwi/ipw2200_hw.c index 8a25125d53..65f27024b4 100644 --- a/usr/src/uts/common/io/iwi/ipw2200_hw.c +++ b/usr/src/uts/common/io/iwi/ipw2200_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -30,8 +30,6 @@ * SUCH DAMAGE. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * Intel Wireless PRO/2200 mini-PCI adapter driver * ipw2200_hw.c is used t handle hardware operations and firmware operations. @@ -376,7 +374,7 @@ ipw2200_load_fw(struct ipw2200_softc *sc, uint8_t *buf, size_t size) uint32_t src, dst, ctl, len, sum, off; uint32_t sentinel; int ntries, err, cnt, i; - clock_t clk; + clock_t clk = drv_usectohz(5000000); /* 5 second */ ipw2200_imem_put32(sc, 0x3000a0, 0x27000); @@ -500,8 +498,8 @@ ipw2200_load_fw(struct ipw2200_softc *sc, uint8_t *buf, size_t size) /* * There is an enhancement! we just change from 1s to 5s */ - clk = ddi_get_lbolt() + drv_usectohz(5000000); /* 5 second */ - if (cv_timedwait(&sc->sc_fw_cond, &sc->sc_ilock, clk) < 0) + if (cv_reltimedwait(&sc->sc_fw_cond, &sc->sc_ilock, clk, + TR_CLOCK_TICK) < 0) break; } mutex_exit(&sc->sc_ilock); |