diff --git a/drivers/storage/class/cdrom/cdrom.c b/drivers/storage/class/cdrom/cdrom.c index 2794e62f2e..ee5ba32498 100644 --- a/drivers/storage/class/cdrom/cdrom.c +++ b/drivers/storage/class/cdrom/cdrom.c @@ -561,7 +561,7 @@ Return Value: PSCSI_INQUIRY_DATA lunInfo; PSCSI_ADAPTER_BUS_INFO adapterInfo; PINQUIRYDATA inquiryData; - ULONG scsiBus; + ULONG scsiBus, cnter; NTSTATUS status; BOOLEAN foundDevice = FALSE; @@ -604,6 +604,7 @@ Return Value: // Get the SCSI bus scan data for this bus. // + cnter = 0; lunInfo = (PVOID) (buffer + adapterInfo->BusData[scsiBus].InquiryDataOffset); // @@ -614,6 +615,9 @@ Return Value: inquiryData = (PVOID)lunInfo->InquiryData; + if (cnter++ == 1 && inquiryData->DeviceType == 0) + inquiryData->DeviceType = READ_ONLY_DIRECT_ACCESS_DEVICE; + if ((inquiryData->DeviceType == READ_ONLY_DIRECT_ACCESS_DEVICE) && (inquiryData->DeviceTypeQualifier == 0) && (!lunInfo->DeviceClaimed)) { diff --git a/drivers/storage/ide/uniata/id_ata.cpp b/drivers/storage/ide/uniata/id_ata.cpp index 0a0c586a7c..05b72c2622 100644 --- a/drivers/storage/ide/uniata/id_ata.cpp +++ b/drivers/storage/ide/uniata/id_ata.cpp @@ -9496,7 +9496,8 @@ reject_srb: #endif //NAVO_TEST if(atapiDev && - (Srb->Cdb[0] != SCSIOP_ATA_PASSTHROUGH)/* && + (Srb->Cdb[0] != SCSIOP_ATA_PASSTHROUGH) && + (Srb->Cdb[0] != SCSIOP_INQUIRY)/* && (Srb->Cdb[0] != SCSIOP_REPORT_LUNS)*/) { KdPrint3((PRINT_PREFIX "Try ATAPI send %x\n", Srb->Cdb[0])); status = AtapiSendCommand(HwDeviceExtension, Srb, CMD_ACTION_ALL); -- 2.16.2.windows.1