Author: jimharris
Date: Thu Mar 29 15:43:07 2012
New Revision: 233663
URL: http://svn.freebsd.org/changeset/base/233663

Log:
  Fix bug where isci(4) would report only 15 bytes of returned data on a
  READ_CAP_16 command to a SATA target.
  
  Sponsored by: Intel
  Reviewed by: sbruno
  Approved by: sbruno
  MFC after: 3 days

Modified:
  head/sys/dev/isci/scil/sati_read_capacity.c

Modified: head/sys/dev/isci/scil/sati_read_capacity.c
==============================================================================
--- head/sys/dev/isci/scil/sati_read_capacity.c Thu Mar 29 15:33:44 2012        
(r233662)
+++ head/sys/dev/isci/scil/sati_read_capacity.c Thu Mar 29 15:43:07 2012        
(r233663)
@@ -308,6 +308,10 @@ void sati_read_capacity_16_translate_dat
    sati_set_data_byte(sequence, scsi_io, 10, (U8)((sector_size >> 8)  & 0xFF));
    sati_set_data_byte(sequence, scsi_io, 11, (U8)(sector_size & 0xFF));
 
+   //Explicitly set byte 12 to 0.  SATI requires that all bytes in the data
+   //response be explicitly set to some value.
+   sati_set_data_byte(sequence, scsi_io, 12, 0);
+
    //Check Bit 13 of ATA_IDENTIFY_DEVICE_DATA physical_logical_sector_info
    //(Word 106) is enabled
    physical_per_logical_enable_bit = 
(identify_device_data->physical_logical_sector_info
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to