summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/pcmcia/pem/pem.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/pcmcia/pem/pem.c')
-rw-r--r--usr/src/uts/common/pcmcia/pem/pem.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr/src/uts/common/pcmcia/pem/pem.c b/usr/src/uts/common/pcmcia/pem/pem.c
index 5a6842ef61..882a290cba 100644
--- a/usr/src/uts/common/pcmcia/pem/pem.c
+++ b/usr/src/uts/common/pcmcia/pem/pem.c
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -311,6 +311,7 @@ pem_detach(dev_info_t *dip, ddi_detach_cmd_t cmd)
return (DDI_FAILURE);
mutex_enter(&pem_intr_lock);
(void) pcmcia_set_em_handler(NULL, NULL, 0, 0x1234, NULL, NULL);
+ tm = drv_usectohz(100000);
while (pem_softint_posted > 0) {
/*
@@ -318,9 +319,8 @@ pem_detach(dev_info_t *dip, ddi_detach_cmd_t cmd)
* interrupts to be processed before removing the
* soft interrupt handler.
*/
- tm = ddi_get_lbolt();
- (void) cv_timedwait(&pem_condvar, &pem_intr_lock,
- tm + drv_usectohz(100000));
+ (void) cv_reltimedwait(&pem_condvar, &pem_intr_lock,
+ tm, TR_CLOCK_TICK);
}
ddi_remove_softintr(pem_intr_id);