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>