diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2002-04-03 16:47:58 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2002-04-03 16:47:58 +0000 |
commit | dd32a9b73068bf051a35f394dbd42ef955975dee (patch) | |
tree | 70bc9cc67e5590e764fb4d8de7d85af3785318bf /sys | |
parent | d0c4c7ce8860304b286a4939de9a9e7f5965a02d (diff) |
deal with ccb shortage correctly, ok mickey@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/i2o/ioprbs.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/dev/i2o/ioprbs.c b/sys/dev/i2o/ioprbs.c index a24085b32b3..16944297648 100644 --- a/sys/dev/i2o/ioprbs.c +++ b/sys/dev/i2o/ioprbs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ioprbs.c,v 1.2 2002/03/14 01:26:53 millert Exp $ */ +/* $OpenBSD: ioprbs.c,v 1.3 2002/04/03 16:47:57 niklas Exp $ */ /* * Copyright (c) 2001 Niklas Hallqvist @@ -523,16 +523,12 @@ ioprbs_scsi_cmd(xs) ccb = ioprbs_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 ioprbs_scsi_cmd", - sc->sc_dv.dv_xname); xs->error = XS_DRIVER_STUFFUP; - xs->flags |= ITSDONE; - scsi_done(xs); - goto ready; + IOPRBS_UNLOCK(sc, lock); + return (TRY_AGAIN_LATER); } ccb->ic_blockno = blockno; |