summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniklas <niklas@openbsd.org>2002-03-05 06:51:39 +0000
committerniklas <niklas@openbsd.org>2002-03-05 06:51:39 +0000
commit91a385c2d31ffdb7a41f3ce6302d4b9bcbaa58c5 (patch)
treec11a1181e21e44e9629b23ed67599cf034ef50c4
parent2nd part to make dhcpd work on sparc64: (diff)
downloadwireguard-openbsd-91a385c2d31ffdb7a41f3ce6302d4b9bcbaa58c5.tar.xz
wireguard-openbsd-91a385c2d31ffdb7a41f3ce6302d4b9bcbaa58c5.zip
Deal gracefully with ccb starvation
-rw-r--r--sys/dev/ic/aac.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/dev/ic/aac.c b/sys/dev/ic/aac.c
index 7f7b49a688a..93166d92129 100644
--- a/sys/dev/ic/aac.c
+++ b/sys/dev/ic/aac.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aac.c,v 1.10 2001/11/06 19:53:18 miod Exp $ */
+/* $OpenBSD: aac.c,v 1.11 2002/03/05 06:51:39 niklas Exp $ */
/*-
* Copyright (c) 2000 Michael Smith
@@ -727,15 +727,11 @@ aac_scsi_cmd(xs)
ccb = aac_get_ccb(sc, xs->flags);
/*
- * Are we out of commands, something is wrong.
- *
+ * We are out of commands, try again in a little while.
*/
if (ccb == NULL) {
- printf("%s: no ccb in aac_scsi_cmd",
- sc->sc_dev.dv_xname);
xs->error = XS_DRIVER_STUFFUP;
- xs->flags |= ITSDONE;
- scsi_done(xs);
+ xs->flags |= TRY_AGAIN_LATER;
goto ready;
}