Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jul 2016 20:48:43 +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: r302380 - head/sys/dev/isci/scil
Message-ID:  <201607062048.u66KmhCX086723@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jimharris
Date: Wed Jul  6 20:48:42 2016
New Revision: 302380
URL: https://svnweb.freebsd.org/changeset/base/302380

Log:
  isci: fix ATA PASSTHROUGH fixed sense data format
  
  PR: kern/191717
  Submitted by: martin@lispworks.com
  Approved by: re (gjb)
  MFC after: 3 days

Modified:
  head/sys/dev/isci/scil/sati_passthrough.c
  head/sys/dev/isci/scil/sati_util.c

Modified: head/sys/dev/isci/scil/sati_passthrough.c
==============================================================================
--- head/sys/dev/isci/scil/sati_passthrough.c	Wed Jul  6 18:55:46 2016	(r302379)
+++ head/sys/dev/isci/scil/sati_passthrough.c	Wed Jul  6 20:48:42 2016	(r302380)
@@ -230,9 +230,9 @@ void sati_passthrough_construct_sense(
 
    // Command specific section
    sati_set_sense_data_byte(sense_data, sense_len, 8,  (PASSTHROUGH_CDB_EXTEND(cdb) << 7) | (sector_count_upper << 6) | (lba_upper << 5));
-   sati_set_sense_data_byte(sense_data, sense_len, 9,  sati_get_ata_lba_high(register_fis));
+   sati_set_sense_data_byte(sense_data, sense_len, 9,  sati_get_ata_lba_low(register_fis));
    sati_set_sense_data_byte(sense_data, sense_len, 10, sati_get_ata_lba_mid(register_fis));
-   sati_set_sense_data_byte(sense_data, sense_len, 11, sati_get_ata_lba_low(register_fis));
+   sati_set_sense_data_byte(sense_data, sense_len, 11, sati_get_ata_lba_high(register_fis));
 
    sequence->is_sense_response_set = TRUE;
 }

Modified: head/sys/dev/isci/scil/sati_util.c
==============================================================================
--- head/sys/dev/isci/scil/sati_util.c	Wed Jul  6 18:55:46 2016	(r302379)
+++ head/sys/dev/isci/scil/sati_util.c	Wed Jul  6 20:48:42 2016	(r302380)
@@ -932,7 +932,7 @@ void sati_scsi_fixed_sense_data_construc
     sati_set_sense_data_byte(sense_data, sense_len, 4,  0);
     sati_set_sense_data_byte(sense_data, sense_len, 5,  0);
     sati_set_sense_data_byte(sense_data, sense_len, 6,  0);
-    sati_set_sense_data_byte(sense_data, sense_len, 7,  0);
+    sati_set_sense_data_byte(sense_data, sense_len, 7,  (sense_len < 18 ? sense_len - 1 : 17) - 7);
     sati_set_sense_data_byte(sense_data, sense_len, 8,  0);
     sati_set_sense_data_byte(sense_data, sense_len, 9,  0);
     sati_set_sense_data_byte(sense_data, sense_len, 10, 0);
@@ -981,7 +981,7 @@ void sati_scsi_common_fixed_sense_constr
 
    //Bytes 3, 4, 5, 6 are set in read_error_sense_construct functions
 
-   sati_set_sense_data_byte(sense_data, sense_len, 7,  0);
+   sati_set_sense_data_byte(sense_data, sense_len, 7,  (sense_len < 18 ? sense_len - 1 : 17) - 7);
    sati_set_sense_data_byte(sense_data, sense_len, 8,  0);
    sati_set_sense_data_byte(sense_data, sense_len, 9,  0);
    sati_set_sense_data_byte(sense_data, sense_len, 10, 0);



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