diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2009-01-18 05:09:44 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2009-01-18 05:09:44 +0000 |
commit | 35027e13c633b63c66b8afff3ead2991e1a5971a (patch) | |
tree | 3db85f413397d4c324aab5293438bbcac0f4245c /sys | |
parent | 86fd9508a2a6adcf3c8438071e965a1cd3c9f101 (diff) |
Put ccb back on free list if we bail out because we can't map the
data buffer.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/siop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ic/siop.c b/sys/dev/ic/siop.c index 043f3f8f84f..3353177fefc 100644 --- a/sys/dev/ic/siop.c +++ b/sys/dev/ic/siop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: siop.c,v 1.52 2009/01/18 04:47:54 krw Exp $ */ +/* $OpenBSD: siop.c,v 1.53 2009/01/18 05:09:43 krw Exp $ */ /* $NetBSD: siop.c,v 1.79 2005/11/18 23:10:32 bouyer Exp $ */ /* @@ -1458,6 +1458,8 @@ siop_scsicmd(xs) if (error) { printf("%s: unable to load data DMA map: %d\n", sc->sc_c.sc_dev.dv_xname, error); + siop_cmd->cmd_c.status = CMDST_FREE; + TAILQ_INSERT_TAIL(&sc->free_list, siop_cmd, next); splx(s); return(TRY_AGAIN_LATER); } |