diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2002-03-05 06:58:55 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2002-03-05 06:58:55 +0000 |
commit | f8198a24c16e3923a5195e90593308dbaf1ce0df (patch) | |
tree | 92ddf5f1f13cb99702c2b1c35433c355db9b9c97 /sys/dev/ic | |
parent | 235d8032eba9bca0b453095d64a905f0beb150b3 (diff) |
Deal gracefully with ccb starvation
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/gdt_common.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/dev/ic/gdt_common.c b/sys/dev/ic/gdt_common.c index dcac4ac513b..7b6fd5bb739 100644 --- a/sys/dev/ic/gdt_common.c +++ b/sys/dev/ic/gdt_common.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gdt_common.c,v 1.16 2001/11/06 19:53:18 miod Exp $ */ +/* $OpenBSD: gdt_common.c,v 1.17 2002/03/05 06:58:54 niklas Exp $ */ /* * Copyright (c) 1999, 2000 Niklas Hallqvist. All rights reserved. @@ -600,15 +600,11 @@ gdt_scsi_cmd(xs) ccb = gdt_get_ccb(gdt, 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 gdt_scsi_cmd", - gdt->sc_dev.dv_xname); xs->error = XS_DRIVER_STUFFUP; - xs->flags |= ITSDONE; - scsi_done(xs); + xs->flags |= TRY_AGAIN_LATER; goto ready; } |