summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/iwi
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/io/iwi')
-rw-r--r--usr/src/uts/common/io/iwi/ipw2200.c6
-rw-r--r--usr/src/uts/common/io/iwi/ipw2200_hw.c10
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);