Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/scsipi scsipi_get_xs(): if we have XS_CTL_URGENT, re...



details:   https://anonhg.NetBSD.org/src/rev/58c1de329e11
branches:  trunk
changeset: 486493:58c1de329e11
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Tue May 23 10:16:43 2000 +0000

description:
scsipi_get_xs(): if we have XS_CTL_URGENT, return an xfer even if
active >= openings. An XS_CTL_URGENT command could otherwise fail, especially
if openings == 1.

diffstat:

 sys/dev/scsipi/scsipi_base.c |  5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diffs (19 lines):

diff -r aa1d4d556fb8 -r 58c1de329e11 sys/dev/scsipi/scsipi_base.c
--- a/sys/dev/scsipi/scsipi_base.c      Tue May 23 09:04:33 2000 +0000
+++ b/sys/dev/scsipi/scsipi_base.c      Tue May 23 10:16:43 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: scsipi_base.c,v 1.34 2000/04/03 03:37:34 enami Exp $   */
+/*     $NetBSD: scsipi_base.c,v 1.35 2000/05/23 10:16:43 bouyer Exp $  */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -104,7 +104,8 @@
                flags |= XS_CTL_NOSLEEP | XS_CTL_POLL;
 
        s = splbio();
-       while (sc_link->active >= sc_link->openings) {
+       while ((sc_link->active >= sc_link->openings) &&
+           ((flags & XS_CTL_URGENT) == 0)) {
                SC_DEBUG(sc_link, SDEV_DB3, ("sleeping\n"));
                if ((flags & XS_CTL_NOSLEEP) != 0) {
                        splx(s);



Home | Main Index | Thread Index | Old Index