[ros-diffs] [hbirr] 14578: Set a better value for gap3 on read/write requests.

hbirr at svn.reactos.com hbirr at svn.reactos.com
Sun Apr 10 18:44:02 CEST 2005


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);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050410/e9c6a03f/attachment.html


More information about the Ros-diffs mailing list