Răsfoiți Sursa

RP2040: Fix error handling after scsi_accel_rp2040_finishWrite() timeout (#149)

Previously the code was left in wrong state after aborting with timeout.
This lets SCSI resume after timeout error without having to reboot.
Petteri Aimonen 2 ani în urmă
părinte
comite
541700ca7f
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      lib/BlueSCSI_platform_RP2040/scsi_accel_rp2040.cpp

+ 1 - 1
lib/BlueSCSI_platform_RP2040/scsi_accel_rp2040.cpp

@@ -384,7 +384,7 @@ void scsi_accel_rp2040_finishWrite(volatile int *resetFlag)
             break;
         }
 
-        if (g_scsi_dma_state == SCSIDMA_WRITE_DONE)
+        if (g_scsi_dma_state == SCSIDMA_WRITE_DONE || *resetFlag)
         {
             // DMA done, wait for PIO to finish also and reconfig GPIO.
             scsi_accel_rp2040_stopWrite(resetFlag);