Set a better value for gap3 on read/write requests.
Modified: trunk/reactos/drivers/storage/floppy/readwrite.c
_____
Modified: trunk/reactos/drivers/storage/floppy/readwrite.c
--- trunk/reactos/drivers/storage/floppy/readwrite.c 2005-04-10
16:41:32 UTC (rev 14577)
+++ trunk/reactos/drivers/storage/floppy/readwrite.c 2005-04-10
16:44:00 UTC (rev 14578)
@@ -430,6 +430,7 @@
NTSTATUS Status;
BOOLEAN DiskChanged;
ULONG_PTR TransferByteOffset;
+ UCHAR Gap;
PAGED_CODE();
@@ -523,6 +524,15 @@
}
/*
+ * FIXME:
+ * FloppyDeviceData.ReadWriteGapLength specify the value for the
physical drive.
+ * We should set this value depend on the format of the inserted
disk and possible
+ * depend on the request (read or write). A value of 0 results in
one rotation
+ * between the sectors (7.2sec for reading a track).
+ */
+ Gap = DriveInfo->FloppyDeviceData.ReadWriteGapLength;
+
+ /*
* Set up DMA transfer
*
* This is as good of a place as any to document something that used
to confuse me
@@ -703,7 +713,7 @@
/* Issue the read/write command to the controller. Note that it
expects the opposite of WriteToDevice. */
if(HwReadWriteData(DriveInfo->ControllerInfo, !WriteToDevice,
DriveInfo->UnitNumber, Cylinder, Head, StartSector,
- DriveInfo->BytesPerSectorCode,
DriveInfo->DiskGeometry.SectorsPerTrack, 0, 0xff) != STATUS_SUCCESS)
+ DriveInfo->BytesPerSectorCode,
DriveInfo->DiskGeometry.SectorsPerTrack, Gap, 0xff) != STATUS_SUCCESS)
{
KdPrint(("floppy: ReadWritePassive(): HwReadWriteData returned
failure; unable to read; completing with STATUS_UNSUCCESSFUL\n"));
RWFreeAdapterChannel(DriveInfo->ControllerInfo->AdapterObject);