|  | @@ -85,7 +85,11 @@ void s2s_scsiInquiry()
 | 
	
		
			
				|  |  |  	uint32_t allocationLength = scsiDev.cdb[4];
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	// SASI standard, X3T9.3_185_RevE  states that 0 == 256 bytes
 | 
	
		
			
				|  |  | -	if (allocationLength == 0) allocationLength = 256;
 | 
	
		
			
				|  |  | +	// BUT SCSI 2 standard says 0 == 0.
 | 
	
		
			
				|  |  | +	if (scsiDev.compatMode <= COMPAT_SCSI1) // excludes COMPAT_SCSI2_DISABLED
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		if (allocationLength == 0) allocationLength = 256;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	if (!evpd)
 | 
	
		
			
				|  |  |  	{
 | 
	
	
		
			
				|  | @@ -210,6 +214,11 @@ uint32_t s2s_getStandardInquiry(
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	memcpy(out, StandardResponse, buflen);
 | 
	
		
			
				|  |  |  	out[1] = cfg->deviceTypeModifier;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	if (scsiDev.compatMode >= COMPAT_SCSI2)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		out[3] = 2; // SCSI 2 response format.
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	memcpy(&out[8], cfg->vendor, sizeof(cfg->vendor));
 | 
	
		
			
				|  |  |  	memcpy(&out[16], cfg->prodId, sizeof(cfg->prodId));
 | 
	
		
			
				|  |  |  	memcpy(&out[32], cfg->revision, sizeof(cfg->revision));
 |