[CLASS2]: Set DiskSize member of deviceExtension->DiskGeometry in ScsiClassReadDriveC...
authorTrevor Thompson <codertrevor@gmail.com>
Mon, 20 Jul 2020 18:55:24 +0000 (14:55 -0400)
committerVictor Perevertkin <victor@perevertkin.ru>
Mon, 20 Jul 2020 22:21:16 +0000 (01:21 +0300)
drivers/storage/class/class2/class2.c

index 5639f07..f3ca8b5 100644 (file)
@@ -828,19 +828,19 @@ Retry:
             lastSector + 1));
 
         //
-        // Calculate media capacity in bytes.
+        // Calculate number of cylinders.
         //
 
-        deviceExtension->PartitionLength.QuadPart = (LONGLONG)(lastSector + 1);
+        deviceExtension->DiskGeometry->Geometry.Cylinders.QuadPart = (LONGLONG)((lastSector + 1)/(DEFAULT_SECTORS_PER_TRACK * DEFAULT_TRACKS_PER_CYLINDER));
 
         //
-        // Calculate number of cylinders.
+        // Calculate media capacity in bytes.
         //
 
-        deviceExtension->DiskGeometry->Geometry.Cylinders.QuadPart = (LONGLONG)((lastSector + 1)/(DEFAULT_SECTORS_PER_TRACK * DEFAULT_TRACKS_PER_CYLINDER));
-
+        deviceExtension->PartitionLength.QuadPart = (LONGLONG)(lastSector + 1);
         deviceExtension->PartitionLength.QuadPart =
             (deviceExtension->PartitionLength.QuadPart << deviceExtension->SectorShift);
+        deviceExtension->DiskGeometry->DiskSize.QuadPart = deviceExtension->PartitionLength.QuadPart;
 
         if (DeviceObject->Characteristics & FILE_REMOVABLE_MEDIA) {
 
@@ -903,6 +903,7 @@ Retry:
         deviceExtension->DiskGeometry->Geometry.BytesPerSector = 512;
         deviceExtension->SectorShift = 9;
         deviceExtension->PartitionLength.QuadPart = (LONGLONG) 0;
+        deviceExtension->DiskGeometry->DiskSize.QuadPart = (LONGLONG) 0;
 
         if (DeviceObject->Characteristics & FILE_REMOVABLE_MEDIA) {