Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 2014 17:02:19 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r269631 - head/sys/cam/ctl
Message-ID:  <53e25f9b.506b.2fc5af04@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Aug  6 17:02:19 2014
New Revision: 269631
URL: http://svnweb.freebsd.org/changeset/base/269631

Log:
  Reduce reported additional INQUIRY data length.
  
  sizeof(struct scsi_inquiry_data) of 256 bytes combined with off-by-one
  error in the changed code gave total INQUIRY data length above 255 bytes,
  that was maximal INQUIRY length in SPC-2.  While SPC-3 increased the
  maximal length to 64K, at least sg3_utils are still confused by that.
  
  MFC after:	1 week

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c	Wed Aug  6 16:44:31 2014	(r269630)
+++ head/sys/cam/ctl/ctl.c	Wed Aug  6 17:02:19 2014	(r269631)
@@ -10462,7 +10462,9 @@ ctl_inquiry_std(struct ctl_scsiio *ctsio
 	 */
 	inq_ptr->response_format = SID_HiSup | 2;
 
-	inq_ptr->additional_length = sizeof(*inq_ptr) - 4;
+	inq_ptr->additional_length =
+	    offsetof(struct scsi_inquiry_data, vendor_specific1) -
+	    (offsetof(struct scsi_inquiry_data, additional_length) + 1);
 	CTL_DEBUG_PRINT(("additional_length = %d\n",
 			 inq_ptr->additional_length));
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53e25f9b.506b.2fc5af04>