diff usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c @ 7654:82798d9a3db9

6747477 scsi_vhci should not check for cdb length while initializing scsi_pkt
author Ramana.Srikanth <Ramana.Srikanth@Sun.COM>
date Mon, 22 Sep 2008 11:24:22 -0700
parents 1c206c17e7a2
children 2621e50fdf4a
line wrap: on
line diff
--- a/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c	Mon Sep 22 16:52:09 2008 +0100
+++ b/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c	Mon Sep 22 11:24:22 2008 -0700
@@ -1823,9 +1823,13 @@
 
 	if (pkt == NULL) {
 		if (cmdlen > VHCI_SCSI_CDB_SIZE) {
-			VHCI_DEBUG(1, (CE_NOTE, NULL,
-			    "!init pkt: cdb size not supported\n"));
-			return (NULL);
+			if ((cmdlen != VHCI_SCSI_OSD_CDB_SIZE) ||
+			    ((flags & VHCI_SCSI_OSD_PKT_FLAGS) !=
+			    VHCI_SCSI_OSD_PKT_FLAGS)) {
+				VHCI_DEBUG(1, (CE_NOTE, NULL,
+				    "!init pkt: cdb size not supported\n"));
+				return (NULL);
+			}
 		}
 
 		pktp = scsi_hba_pkt_alloc(vhci->vhci_dip,