summaryrefslogtreecommitdiffstats
path: root/sys/isa/fd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/isa/fd.c')
-rw-r--r--sys/isa/fd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index 7599392..7d30d8f 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -1588,6 +1588,11 @@ Fdopen(dev_t dev, int flags, int mode, struct thread *td)
*
* If UA has been forced, proceed.
*
+ * If the drive has no changeline support,
+ * or if the drive parameters have been lost
+ * due to previous non-blocking access,
+ * assume a forced UA condition.
+ *
* If motor is off, turn it on for a moment
* and select our drive, in order to read the
* UA hardware signal.
@@ -1603,7 +1608,8 @@ Fdopen(dev_t dev, int flags, int mode, struct thread *td)
*/
unitattn = 0;
if ((dflags & FD_NO_CHLINE) != 0 ||
- (fd->flags & FD_UA) != 0) {
+ (fd->flags & FD_UA) != 0 ||
+ fd->ft == 0) {
unitattn = 1;
fd->flags &= ~FD_UA;
} else if (fdc->fdout & (FDO_MOEN0 | FDO_MOEN1 |
OpenPOWER on IntegriCloud