From 726fa4e94f1fef43102ea88a4bad3f4ae2aa6277 Mon Sep 17 00:00:00 2001 From: mycroft Date: Mon, 23 Jan 1995 18:17:22 +0000 Subject: [PATCH] Do the PREVENT before the START. --- sys/dev/scsipi/cd.c | 8 ++++---- sys/dev/scsipi/sd.c | 9 +++++---- sys/scsi/cd.c | 8 ++++---- sys/scsi/sd.c | 9 +++++---- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/sys/dev/scsipi/cd.c b/sys/dev/scsipi/cd.c index 9c36d00581dd..f0d26da4b8d9 100644 --- a/sys/dev/scsipi/cd.c +++ b/sys/dev/scsipi/cd.c @@ -1,4 +1,4 @@ -/* $NetBSD: cd.c,v 1.49 1995/01/16 21:31:34 mycroft Exp $ */ +/* $NetBSD: cd.c,v 1.50 1995/01/23 18:17:22 mycroft Exp $ */ /* * Copyright (c) 1994 Charles Hannum. All rights reserved. @@ -238,15 +238,15 @@ cdopen(dev, flag, fmt) SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY | SCSI_IGNORE_MEDIA_CHANGE)) goto bad3; - if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) - goto bad3; - sc_link->flags |= SDEV_OPEN; /* unit attn errors are now errors */ /* Lock the pack in. */ scsi_prevent(sc_link, PR_PREVENT, SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY); + if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) + goto bad; + if ((sc_link->flags & SDEV_MEDIA_LOADED) == 0) { sc_link->flags |= SDEV_MEDIA_LOADED; diff --git a/sys/dev/scsipi/sd.c b/sys/dev/scsipi/sd.c index cf85d60d231e..e81be112af62 100644 --- a/sys/dev/scsipi/sd.c +++ b/sys/dev/scsipi/sd.c @@ -1,4 +1,4 @@ -/* $NetBSD: sd.c,v 1.53 1995/01/16 21:40:17 mycroft Exp $ */ +/* $NetBSD: sd.c,v 1.54 1995/01/23 18:17:24 mycroft Exp $ */ /* * Copyright (c) 1994 Charles Hannum. All rights reserved. @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -241,15 +242,15 @@ sdopen(dev, flag, fmt) SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY | SCSI_IGNORE_MEDIA_CHANGE)) goto bad3; - if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) - goto bad3; - sc_link->flags |= SDEV_OPEN; /* unit attn becomes an err now */ /* Lock the pack in. */ scsi_prevent(sc_link, PR_PREVENT, SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY); + if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) + goto bad; + if ((sc_link->flags & SDEV_MEDIA_LOADED) == 0) { sc_link->flags |= SDEV_MEDIA_LOADED; diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c index 9c36d00581dd..f0d26da4b8d9 100644 --- a/sys/scsi/cd.c +++ b/sys/scsi/cd.c @@ -1,4 +1,4 @@ -/* $NetBSD: cd.c,v 1.49 1995/01/16 21:31:34 mycroft Exp $ */ +/* $NetBSD: cd.c,v 1.50 1995/01/23 18:17:22 mycroft Exp $ */ /* * Copyright (c) 1994 Charles Hannum. All rights reserved. @@ -238,15 +238,15 @@ cdopen(dev, flag, fmt) SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY | SCSI_IGNORE_MEDIA_CHANGE)) goto bad3; - if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) - goto bad3; - sc_link->flags |= SDEV_OPEN; /* unit attn errors are now errors */ /* Lock the pack in. */ scsi_prevent(sc_link, PR_PREVENT, SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY); + if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) + goto bad; + if ((sc_link->flags & SDEV_MEDIA_LOADED) == 0) { sc_link->flags |= SDEV_MEDIA_LOADED; diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c index cf85d60d231e..e81be112af62 100644 --- a/sys/scsi/sd.c +++ b/sys/scsi/sd.c @@ -1,4 +1,4 @@ -/* $NetBSD: sd.c,v 1.53 1995/01/16 21:40:17 mycroft Exp $ */ +/* $NetBSD: sd.c,v 1.54 1995/01/23 18:17:24 mycroft Exp $ */ /* * Copyright (c) 1994 Charles Hannum. All rights reserved. @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -241,15 +242,15 @@ sdopen(dev, flag, fmt) SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY | SCSI_IGNORE_MEDIA_CHANGE)) goto bad3; - if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) - goto bad3; - sc_link->flags |= SDEV_OPEN; /* unit attn becomes an err now */ /* Lock the pack in. */ scsi_prevent(sc_link, PR_PREVENT, SCSI_IGNORE_ILLEGAL_REQUEST | SCSI_IGNORE_NOT_READY); + if ((error = scsi_start_and_wait(sc_link, 30, 0)) == EIO) + goto bad; + if ((sc_link->flags & SDEV_MEDIA_LOADED) == 0) { sc_link->flags |= SDEV_MEDIA_LOADED;