Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Aug 2012 17:08:02 +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: r239655 - head/sys/cam/scsi
Message-ID:  <201208241708.q7OH82Hi073655@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jimharris
Date: Fri Aug 24 17:08:02 2012
New Revision: 239655
URL: http://svn.freebsd.org/changeset/base/239655

Log:
  Fix scsi_da's BIO_DELETE->SCSI_UNMAP translation to use correct local
  variable when determining various sizes related to SCSI UNMAP block
  descriptor lists.
  
  Sponsored by:	Intel
  Reviewed by:	mav
  MFC after:	3 days

Modified:
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c	Fri Aug 24 16:37:00 2012	(r239654)
+++ head/sys/cam/scsi/scsi_da.c	Fri Aug 24 17:08:02 2012	(r239655)
@@ -1849,8 +1849,8 @@ dastart(struct cam_periph *periph, union
 				     softc->params.secsize > softc->unmap_max_lba)
 					break;
 			} while (1);
-			scsi_ulto2b(count * 16 + 6, &buf[0]);
-			scsi_ulto2b(count * 16, &buf[2]);
+			scsi_ulto2b(ranges * 16 + 6, &buf[0]);
+			scsi_ulto2b(ranges * 16, &buf[2]);
 
 			scsi_unmap(&start_ccb->csio,
 					/*retries*/da_retry_count,
@@ -1858,7 +1858,7 @@ dastart(struct cam_periph *periph, union
 					/*tag_action*/MSG_SIMPLE_Q_TAG,
 					/*byte2*/0,
 					/*data_ptr*/ buf,
-					/*dxfer_len*/ count * 16 + 8,
+					/*dxfer_len*/ ranges * 16 + 8,
 					/*sense_len*/SSD_FULL_SIZE,
 					da_default_timeout * 1000);
 			start_ccb->ccb_h.ccb_state = DA_CCB_DELETE;



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