diff options
author | gibbs <gibbs@FreeBSD.org> | 1998-09-19 04:59:35 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1998-09-19 04:59:35 +0000 |
commit | dc569b076a1451eff5022f97dcef24f7b7b21889 (patch) | |
tree | 39c2f938d5c80a7b044a230000e38f79bf889d05 /sys/cam | |
parent | ab84014a0713a27132c621f6cff598beae7ecca6 (diff) | |
download | FreeBSD-src-dc569b076a1451eff5022f97dcef24f7b7b21889.zip FreeBSD-src-dc569b076a1451eff5022f97dcef24f7b7b21889.tar.gz |
Don't leave the device queue in a frozen state if the Synchronize Cache
command on close fails.
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_da.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index d14ce30..cccb317 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_da.c,v 1.2 1998/09/16 23:30:11 ken Exp $ + * $Id: scsi_da.c,v 1.3 1998/09/18 22:33:59 ken Exp $ */ #include <sys/param.h> @@ -365,6 +365,13 @@ daclose(dev_t dev, int flag, int fmt, struct proc *p) xpt_release_ccb(ccb); + if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) + cam_release_devq(ccb->ccb_h.path, + /*relsim_flags*/0, + /*reduction*/0, + /*timeout*/0, + /*getcount_only*/0); + if ((softc->flags & DA_FLAG_PACK_REMOVABLE) != 0) { daprevent(periph, PR_ALLOW); /* |