svn commit: r217898 - in stable/7/sys/dev: aac mfi

John Baldwin jhb at FreeBSD.org
Wed Jan 26 20:09:08 UTC 2011


Author: jhb
Date: Wed Jan 26 20:09:08 2011
New Revision: 217898
URL: http://svn.freebsd.org/changeset/base/217898

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/7/sys/dev/aac/aac_cam.c
  stable/7/sys/dev/mfi/mfi_cam.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/aac/aac_cam.c
==============================================================================
--- stable/7/sys/dev/aac/aac_cam.c	Wed Jan 26 20:08:53 2011	(r217897)
+++ stable/7/sys/dev/aac/aac_cam.c	Wed Jan 26 20:09:08 2011	(r217898)
@@ -539,7 +539,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/7/sys/dev/mfi/mfi_cam.c
==============================================================================
--- stable/7/sys/dev/mfi/mfi_cam.c	Wed Jan 26 20:08:53 2011	(r217897)
+++ stable/7/sys/dev/mfi/mfi_cam.c	Wed Jan 26 20:09:08 2011	(r217898)
@@ -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;
 	}


More information about the svn-src-stable-7 mailing list