Ver código fonte

Initiator: reinitialize state parameters for next device/disc

Previously when imaging multiple CD discs without reboot,
the initiator state variables wouldn't be properly reset between discs.

This caused a single sector read failure to affect reading speed of
next disc.
Petteri Aimonen 9 meses atrás
pai
commit
077dad8ca7
1 arquivos alterados com 6 adições e 0 exclusões
  1. 6 0
      src/ZuluSCSI_initiator.cpp

+ 6 - 0
src/ZuluSCSI_initiator.cpp

@@ -241,10 +241,16 @@ void scsiInitiatorMainLoop()
     {
         // Scan for SCSI drives one at a time
         g_initiator_state.target_id = (g_initiator_state.target_id + 1) % 8;
+        g_initiator_state.sectorsize = 0;
+        g_initiator_state.sectorcount = 0;
         g_initiator_state.sectors_done = 0;
         g_initiator_state.retrycount = 0;
+        g_initiator_state.failposition = 0;
         g_initiator_state.max_sector_per_transfer = 512;
+        g_initiator_state.ansi_version = 0;
         g_initiator_state.bad_sector_count = 0;
+        g_initiator_state.device_type = SCSI_DEVICE_TYPE_DIRECT_ACCESS;
+        g_initiator_state.removable = false;
         g_initiator_state.eject_when_done = false;
 
         if (!(g_initiator_state.drives_imaged & (1 << g_initiator_state.target_id)))