diff options
author | Marco Peereboom <marco@cvs.openbsd.org> | 2005-05-28 00:15:42 +0000 |
---|---|---|
committer | Marco Peereboom <marco@cvs.openbsd.org> | 2005-05-28 00:15:42 +0000 |
commit | cd15987d091a8d0c5fd8cffcbb2ba1af17bb6269 (patch) | |
tree | 28e81d3d61b33d58b101bfcf1c51d38c1c4f5b0b /sys | |
parent | 87d37b46a28075243600b59a10c2293060b612dc (diff) |
Step 3 in fixing bioctl commands intermixed with regular io.
Enhance performance by using two sleep channels instead of one. All mickey, but I'll take credit for typing it.
ok mickey@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/ami.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/ic/ami.c b/sys/dev/ic/ami.c index 6c739af4792..d939cb4bedd 100644 --- a/sys/dev/ic/ami.c +++ b/sys/dev/ic/ami.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ami.c,v 1.40 2005/05/28 00:07:03 marco Exp $ */ +/* $OpenBSD: ami.c,v 1.41 2005/05/28 00:15:41 marco Exp $ */ /* * Copyright (c) 2001 Michael Shalayeff @@ -1191,7 +1191,7 @@ ami_done(sc, idx) AMI_DPRINTF(AMI_D_CMD, ("scsi_done(%d) ", idx)); scsi_done(xs); if (sc->sc_flags & AMI_CMDWAIT && TAILQ_EMPTY(&sc->sc_ccbq)) - wakeup(&sc->sc_ccbq); + wakeup(&sc->sc_free_ccb); } AMI_UNLOCK_AMI(sc, lock); @@ -1630,7 +1630,7 @@ ami_ioctl(dev, cmd, addr) case BIOCSCSICMD: sc->sc_flags |= AMI_CMDWAIT; while (!TAILQ_EMPTY(&sc->sc_ccbq)) - if (tsleep(&sc->sc_ccbq, PRIBIO, "ami_ioctl", + if (tsleep(&sc->sc_free_ccb, PRIBIO, "ami_ioctl", 100 * 60) == EWOULDBLOCK) return EWOULDBLOCK; } |