summaryrefslogtreecommitdiff
path: root/Kernel/BlkDev
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/BlkDev')
-rw-r--r--Kernel/BlkDev/DskFDC.HC5
1 files changed, 4 insertions, 1 deletions
diff --git a/Kernel/BlkDev/DskFDC.HC b/Kernel/BlkDev/DskFDC.HC
index 9587737..39aca31 100644
--- a/Kernel/BlkDev/DskFDC.HC
+++ b/Kernel/BlkDev/DskFDC.HC
@@ -204,7 +204,7 @@ Bool FDCInit(CBlkDev *bd)
{
// Recalibrate the drive and (on the first drive) initialize the FDC
- U8 ver,st0,pcn;
+ U64 ver,st0,pcn;
Bool unlock=BlkDevLock(bd),okay=FALSE;
// If this drv is unit 0, do initialization
@@ -221,6 +221,7 @@ Bool FDCInit(CBlkDev *bd)
recalibrate:
// Recalibrate this drive
+ FDCMotor(bd,ON);
fdc_int_semaphore=FALSE;
FDCSendByte(bd,FDC_RECALIBRATE);
FDCSendByte(bd,bd->unit); // Drive number
@@ -239,6 +240,8 @@ Bool FDCInit(CBlkDev *bd)
// in which case we will do another recalibration
if (!(st0&0x20)) goto recalibrate;
+ FDCMotor(bd,OFF);
+
bd->max_blk=(bd->cyls*bd->heads*bd->spt)-1;
if (unlock) BlkDevUnlock(bd);