Răsfoiți Sursa

Fix misleading 0 MB/s message

"Negotiated sync mode 0 MB/s" really means that host
asked for asynchronous mode.
Petteri Aimonen 2 ani în urmă
părinte
comite
8a07a96d12
1 a modificat fișierele cu 14 adăugiri și 4 ștergeri
  1. 14 4
      src/BlueSCSI_log_trace.cpp

+ 14 - 4
src/BlueSCSI_log_trace.cpp

@@ -175,10 +175,20 @@ void scsiLogPhaseChange(int new_phase)
             // Add a log message when negotiated synchronous speed changes.
             int syncper = scsiDev.target->syncPeriod;
             int syncoff = scsiDev.target->syncOffset;
-            int mbyte_per_s = (1000 + syncper * 2) / (syncper * 4);
-            log("SCSI ID ", (int)scsiDev.target->targetId,
-                  " negotiated synchronous mode ", mbyte_per_s, " MB/s ",
-                  "(period 4x", syncper, " ns, offset ", syncoff, " bytes)");
+
+            if (syncper > 0)
+            {
+                int mbyte_per_s = (1000 + syncper * 2) / (syncper * 4);
+                log("SCSI ID ", (int)scsiDev.target->targetId,
+                    " negotiated synchronous mode ", mbyte_per_s, " MB/s ",
+                    "(period 4x", syncper, " ns, offset ", syncoff, " bytes)");
+            }
+            else
+            {
+                log("SCSI ID ", (int)scsiDev.target->targetId,
+                    " negotiated asynchronous mode ",
+                    "(period 4x", syncper, " ns, offset ", syncoff, " bytes)");
+            }
         }
 
         printNewPhase(new_phase);