Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2011 20:08:53 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r217897 - in stable/8/sys/dev: aac mfi
Message-ID:  <201101262008.p0QK8rUt088168@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Wed Jan 26 20:08:53 2011
New Revision: 217897
URL: http://svn.freebsd.org/changeset/base/217897

Log:
  MFC 216235,216236:
  When masking direct and processor devices during an inquiry, properly
  preserve the upper bits of the first data byte.

Modified:
  stable/8/sys/dev/aac/aac_cam.c
  stable/8/sys/dev/mfi/mfi_cam.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/dev/aac/aac_cam.c
==============================================================================
--- stable/8/sys/dev/aac/aac_cam.c	Wed Jan 26 20:03:58 2011	(r217896)
+++ stable/8/sys/dev/aac/aac_cam.c	Wed Jan 26 20:08:53 2011	(r217897)
@@ -587,7 +587,8 @@ aac_cam_complete(struct aac_command *cm)
 				    (device == T_PROCESSOR) ||
 				    (sc->flags & AAC_FLAGS_CAM_PASSONLY))
 					ccb->csio.data_ptr[0] =
-					    ((device & 0xe0) | T_NODEVICE);
+					    ((ccb->csio.data_ptr[0] & 0xe0) |
+					    T_NODEVICE);
 				} else if (ccb->ccb_h.status == CAM_SEL_TIMEOUT &&
 					ccb->ccb_h.target_lun != 0) {
 					/* fix for INQUIRYs on Lun>0 */

Modified: stable/8/sys/dev/mfi/mfi_cam.c
==============================================================================
--- stable/8/sys/dev/mfi/mfi_cam.c	Wed Jan 26 20:03:58 2011	(r217896)
+++ stable/8/sys/dev/mfi/mfi_cam.c	Wed Jan 26 20:08:53 2011	(r217897)
@@ -340,14 +340,14 @@ mfip_done(struct mfi_command *cm)
 		ccbh->status = CAM_REQ_CMP;
 		csio->scsi_status = pt->header.scsi_status;
 		if (ccbh->flags & CAM_CDB_POINTER)
-			command = ccb->csio.cdb_io.cdb_ptr[0];
+			command = csio->cdb_io.cdb_ptr[0];
 		else
-			command = ccb->csio.cdb_io.cdb_bytes[0];
+			command = csio->cdb_io.cdb_bytes[0];
 		if (command == INQUIRY) {
-			device = ccb->csio.data_ptr[0] & 0x1f;
+			device = csio->data_ptr[0] & 0x1f;
 			if ((device == T_DIRECT) || (device == T_PROCESSOR))
 				csio->data_ptr[0] =
-				     (device & 0xe0) | T_NODEVICE;
+				     (csio->data_ptr[0] & 0xe0) | T_NODEVICE;
 		}
 		break;
 	}



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