Index: /trunk/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp	(revision 67889)
+++ /trunk/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp	(revision 67890)
@@ -2259,5 +2259,11 @@
                 uint8_t uDataDirection = MPT_SCSIIO_REQUEST_CONTROL_TXDIR_GET(pLsiReq->GuestRequest.SCSIIO.u32Control);
 
-                if (uDataDirection == MPT_SCSIIO_REQUEST_CONTROL_TXDIR_NONE)
+                 /*
+                  * Keep the direction to unknown if there is a mismatch between the data length
+                  * and the transfer direction bit.
+                  * The Solaris 9 driver is buggy and sets it to none for INQUIRY requests.
+                  */
+                if (   uDataDirection == MPT_SCSIIO_REQUEST_CONTROL_TXDIR_NONE
+                    && pLsiReq->GuestRequest.SCSIIO.u32DataLength == 0)
                     enmXferDir = PDMMEDIAEXIOREQSCSITXDIR_NONE;
                 else if (uDataDirection == MPT_SCSIIO_REQUEST_CONTROL_TXDIR_WRITE)
