Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/scsipi At least try to do something useful in the XS...



details:   https://anonhg.NetBSD.org/src/rev/2f159078fa0c
branches:  trunk
changeset: 486732:2f159078fa0c
user:      fvdl <fvdl%NetBSD.org@localhost>
date:      Sat May 27 23:59:58 2000 +0000

description:
At least try to do something useful in the XS_BUSY case; don't cause
a panic by sleeping in an interrupt context.

diffstat:

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

diffs (34 lines):

diff -r 487be8e59699 -r 2f159078fa0c sys/dev/scsipi/scsipi_base.c
--- a/sys/dev/scsipi/scsipi_base.c      Sat May 27 23:01:44 2000 +0000
+++ b/sys/dev/scsipi/scsipi_base.c      Sat May 27 23:59:58 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: scsipi_base.c,v 1.35 2000/05/23 10:16:43 bouyer Exp $  */
+/*     $NetBSD: scsipi_base.c,v 1.36 2000/05/27 23:59:58 fvdl Exp $    */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -777,14 +777,14 @@
                if (xs->retries) {
                        if ((xs->xs_control & XS_CTL_POLL) != 0)
                                delay(1000000);
-                       else if ((xs->xs_control &
+                       else if (!async && (xs->xs_control &
                            (XS_CTL_NOSLEEP|XS_CTL_DISCOVERY)) == 0)
                                tsleep(&lbolt, PRIBIO, "scbusy", 0);
                        else
 #if 0
                                timeout(scsipi_requeue, xs, hz);
 #else
-                               goto lose;
+                               goto retry;
 #endif
                }
        case XS_TIMEOUT:
@@ -796,7 +796,6 @@
                        return (ERESTART);
                }
        case XS_DRIVER_STUFFUP:
-       lose:
                error = EIO;
                break;
 



Home | Main Index | Thread Index | Old Index