summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/adv.c5
-rw-r--r--sys/dev/ic/adw.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/ic/adv.c b/sys/dev/ic/adv.c
index b241a5d85fd..4cdd07f6882 100644
--- a/sys/dev/ic/adv.c
+++ b/sys/dev/ic/adv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: adv.c,v 1.17 2006/11/29 01:00:47 grange Exp $ */
+/* $OpenBSD: adv.c,v 1.18 2007/11/05 20:50:20 krw Exp $ */
/* $NetBSD: adv.c,v 1.6 1998/10/28 20:39:45 dante Exp $ */
/*
@@ -883,10 +883,13 @@ adv_poll(sc, xs, count)
struct scsi_xfer *xs;
int count;
{
+ int s;
/* timeouts are in msec, so we loop in 1000 usec cycles */
while (count) {
+ s = splbio();
adv_intr(sc);
+ splx(s);
if (xs->flags & ITSDONE)
return (0);
delay(1000); /* only happens in boot so ok */
diff --git a/sys/dev/ic/adw.c b/sys/dev/ic/adw.c
index f0b2a23cc8b..f499600532e 100644
--- a/sys/dev/ic/adw.c
+++ b/sys/dev/ic/adw.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: adw.c,v 1.31 2006/11/28 23:59:45 dlg Exp $ */
+/* $OpenBSD: adw.c,v 1.32 2007/11/05 20:50:20 krw Exp $ */
/* $NetBSD: adw.c,v 1.23 2000/05/27 18:24:50 dante Exp $ */
/*
@@ -969,10 +969,13 @@ adw_poll(sc, xs, count)
struct scsi_xfer *xs;
int count;
{
+ int s;
/* timeouts are in msec, so we loop in 1000 usec cycles */
while (count > 0) {
+ s = splbio();
adw_intr(sc);
+ splx(s);
if (xs->flags & ITSDONE) {
if ((xs->cmd->opcode == INQUIRY)
&& (xs->sc_link->lun == 0)