Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/scsipi In scsipi_done(), call scsipi_free_xs() at sp...



details:   https://anonhg.NetBSD.org/src/rev/e491b7ebe814
branches:  trunk
changeset: 473703:e491b7ebe814
user:      pk <pk%NetBSD.org@localhost>
date:      Wed Jun 16 07:35:31 1999 +0000

description:
In scsipi_done(), call scsipi_free_xs() at splbio().

diffstat:

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

diffs (22 lines):

diff -r f11dd6b5d3e6 -r e491b7ebe814 sys/dev/scsipi/scsipi_base.c
--- a/sys/dev/scsipi/scsipi_base.c      Wed Jun 16 00:29:04 1999 +0000
+++ b/sys/dev/scsipi/scsipi_base.c      Wed Jun 16 07:35:31 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: scsipi_base.c,v 1.21 1999/04/07 12:47:27 bouyer Exp $  */
+/*     $NetBSD: scsipi_base.c,v 1.22 1999/06/16 07:35:31 pk Exp $      */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -607,8 +607,11 @@
         * returned SUCCESSFULLY_QUEUED when the command was
         * submitted), we need to free the scsipi_xfer here.
         */
-       if (SCSIPI_XFER_ASYNC(xs))
+       if (SCSIPI_XFER_ASYNC(xs)) {
+               int s = splbio();
                scsipi_free_xs(xs, SCSI_NOSLEEP);
+               splx(s);
+       }
        if (bp)
                biodone(bp);
 }



Home | Main Index | Thread Index | Old Index