summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1998-09-19 04:59:35 +0000
committergibbs <gibbs@FreeBSD.org>1998-09-19 04:59:35 +0000
commitdc569b076a1451eff5022f97dcef24f7b7b21889 (patch)
tree39c2f938d5c80a7b044a230000e38f79bf889d05 /sys/cam
parentab84014a0713a27132c621f6cff598beae7ecca6 (diff)
downloadFreeBSD-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.c9
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);
/*
OpenPOWER on IntegriCloud