| 
														
															@@ -1025,9 +1025,16 @@ static void diskDataIn() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         g_scsi_prefetch.scsiId = scsiDev.target->cfg->scsiId; 
														 | 
														
														 | 
														
															         g_scsi_prefetch.scsiId = scsiDev.target->cfg->scsiId; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         while (!scsiIsWriteFinished(NULL) && prefetch_sectors > 0) 
														 | 
														
														 | 
														
															         while (!scsiIsWriteFinished(NULL) && prefetch_sectors > 0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         { 
														 | 
														
														 | 
														
															         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // Check if prefetch buffer is free 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            g_disk_transfer.buffer = g_scsi_prefetch.buffer + g_scsi_prefetch.bytes; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (!scsiIsWriteFinished(g_disk_transfer.buffer) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                !scsiIsWriteFinished(g_disk_transfer.buffer + bytesPerSector - 1)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // We still have time, prefetch next sectors in case this SCSI request 
														 | 
														
														 | 
														
															             // We still have time, prefetch next sectors in case this SCSI request 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // is part of a longer linear read. 
														 | 
														
														 | 
														
															             // is part of a longer linear read. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            g_disk_transfer.buffer = g_scsi_prefetch.buffer + g_scsi_prefetch.bytes; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             g_disk_transfer.bytes_sd = bytesPerSector; 
														 | 
														
														 | 
														
															             g_disk_transfer.bytes_sd = bytesPerSector; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             g_disk_transfer.bytes_scsi = bytesPerSector; // Tell callback not to send to SCSI 
														 | 
														
														 | 
														
															             g_disk_transfer.bytes_scsi = bytesPerSector; // Tell callback not to send to SCSI 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             image_config_t &img = *(image_config_t*)scsiDev.target->cfg; 
														 | 
														
														 | 
														
															             image_config_t &img = *(image_config_t*)scsiDev.target->cfg; 
														 |