소스 검색

Fix error recovery problems with platform_poll()

The commit 104dddde63 added some wait loops, but these should
exit if SCSI reset occurs.
Petteri Aimonen 2 년 전
부모
커밋
8dd15da556
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/ZuluSCSI_disk.cpp

+ 2 - 2
src/ZuluSCSI_disk.cpp

@@ -1480,7 +1480,7 @@ void scsiDiskStartRead(uint32_t lba, uint32_t blocks)
 
         if (transfer.currentBlock == transfer.blocks)
         {
-            while (!scsiIsWriteFinished(NULL))
+            while (!scsiIsWriteFinished(NULL) && !scsiDev.resetFlag)
             {
                 platform_poll();
                 diskEjectButtonUpdate(false);
@@ -1660,7 +1660,7 @@ static void diskDataIn()
         }
 #endif
 
-        while (!scsiIsWriteFinished(NULL))
+        while (!scsiIsWriteFinished(NULL) && !scsiDev.resetFlag)
         {
             platform_poll();
             diskEjectButtonUpdate(false);