Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Mar 2012 15:43:07 +0000 (UTC)
From:      Jim Harris <jimharris@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r233663 - head/sys/dev/isci/scil
Message-ID:  <201203291543.q2TFh7Ip099461@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203291543.q2TFh7Ip099461>