| 
					
				 | 
			
			
				@@ -26,7 +26,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "scsi2sd_time.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "bsp.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cdrom.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//#include "debug.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// #include "debug.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// #include "log.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "network.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "tape.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "mo.h" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -412,7 +413,14 @@ static void process_Command() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else if (command == 0x12) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		s2s_scsiInquiry(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(scsiDev.lun) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scsiDev.target->sense.code = ILLEGAL_REQUEST; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scsiDev.target->sense.asc = LOGICAL_UNIT_NOT_SUPPORTED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			enter_Status(CHECK_CONDITION); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s2s_scsiInquiry(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else if (command == 0x03) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -545,6 +553,13 @@ static void process_Command() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			// Newer initiators won't be specifying 0 anyway. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (allocLength == 0) allocLength = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// If we receve a stand alone REQUEST SENSE to a bad LUN we still need to respond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// with LUN not supported. SCSI-2 Spec 7.5.3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (scsiDev.lun && scsiDev.lastStatus != CHECK_CONDITION) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				scsiDev.target->sense.code = ILLEGAL_REQUEST; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				scsiDev.target->sense.asc = LOGICAL_UNIT_NOT_SUPPORTED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			memset(scsiDev.data, 0, 256); // Max possible alloc length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			scsiDev.data[0] = 0xF0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			scsiDev.data[2] = scsiDev.target->sense.code & 0x0F; 
			 |