When masking direct and processor devices during an inquiry, properly

preserve the upper bits of the first data byte.

While here, shorten a few nearby lines.

PR:		kern/152768
Reported by:	Sascha Wildner  saw of online.de
Reviewed by:	scottl
MFC after:	1 week
This commit is contained in:
John Baldwin 2010-12-06 17:02:56 +00:00
parent f68c74bbd3
commit b596082ba7

View File

@ -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;
}