diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-09-04 04:57:15 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-09-04 04:57:15 +0000 |
commit | 65b93c258bf156ae4199603a900a7d1106018b97 (patch) | |
tree | 57026a13051f91c4d60de35a78e2a7bbc6a00f98 /sys/dev/ic/adv.c | |
parent | af55e5eed6037a04aa342139803575fcce320c3c (diff) |
Missing scsi_done() in some error path returning COMPLETE; ok dlg@
Diffstat (limited to 'sys/dev/ic/adv.c')
-rw-r--r-- | sys/dev/ic/adv.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/ic/adv.c b/sys/dev/ic/adv.c index 394d75e4191..df94aab17bc 100644 --- a/sys/dev/ic/adv.c +++ b/sys/dev/ic/adv.c @@ -1,4 +1,4 @@ -/* $OpenBSD: adv.c,v 1.25 2009/08/29 13:58:51 jasper Exp $ */ +/* $OpenBSD: adv.c,v 1.26 2009/09/04 04:57:14 miod Exp $ */ /* $NetBSD: adv.c,v 1.6 1998/10/28 20:39:45 dante Exp $ */ /* @@ -653,6 +653,10 @@ adv_scsi_cmd(xs) xs->error = XS_DRIVER_STUFFUP; adv_free_ccb(sc, ccb); + xs->flags |= ITSDONE; + s = splbio(); + scsi_done(xs); + splx(s); return (COMPLETE); } bus_dmamap_sync(dmat, ccb->dmamap_xfer, @@ -706,6 +710,7 @@ adv_scsi_cmd(xs) if (adv_poll(sc, xs, ccb->timeout)) adv_timeout(ccb); } + return (COMPLETE); } |