mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 10:14:44 +00:00
Added write support, next operation code 53 27.
svn path=/branches/GSoC_2016/AHCI/; revision=72002
This commit is contained in:
parent
e51f406055
commit
c903cda7aa
1 changed files with 8 additions and 4 deletions
|
@ -849,7 +849,7 @@ AhciHwStartIo (
|
|||
Srb->SrbStatus = DeviceRequestSense(AdapterExtension, Srb, cdb);
|
||||
break;
|
||||
case SCSIOP_READ:
|
||||
//case SCSIOP_WRITE:
|
||||
case SCSIOP_WRITE:
|
||||
Srb->SrbStatus = DeviceRequestReadWrite(AdapterExtension, Srb, cdb);
|
||||
break;
|
||||
default:
|
||||
|
@ -1726,7 +1726,7 @@ UCHAR DeviceRequestSense (
|
|||
|
||||
ModeHeader->ModeDataLength = sizeof(MODE_PARAMETER_HEADER);
|
||||
ModeHeader->MediumType = 0;
|
||||
ModeHeader->DeviceSpecificParameter = MODE_DSP_WRITE_PROTECT;
|
||||
ModeHeader->DeviceSpecificParameter = 0;
|
||||
ModeHeader->BlockDescriptorLength = 0;
|
||||
|
||||
if (Cdb->MODE_SENSE.PageCode == MODE_SENSE_CURRENT_VALUES)
|
||||
|
@ -1776,9 +1776,12 @@ UCHAR DeviceRequestReadWrite (
|
|||
|
||||
NT_ASSERT(BytesPerSector > 0);
|
||||
|
||||
ROUND_UP(DataTransferLength, BytesPerSector);
|
||||
//ROUND_UP(DataTransferLength, BytesPerSector);
|
||||
|
||||
SectorCount = DataTransferLength / BytesPerSector;
|
||||
|
||||
Srb->DataTransferLength = SectorCount * BytesPerSector;
|
||||
|
||||
StartOffset = AhciGetLba(Cdb, Srb->CdbLength);
|
||||
IsReading = (Cdb->CDB10.OperationCode == SCSIOP_READ);
|
||||
|
||||
|
@ -1796,7 +1799,8 @@ UCHAR DeviceRequestReadWrite (
|
|||
else
|
||||
{
|
||||
SrbExtension->Flags |= ATA_FLAGS_DATA_OUT;
|
||||
NT_ASSERT(FALSE);
|
||||
SrbExtension->CommandReg = IDE_COMMAND_WRITE_DMA;
|
||||
//NT_ASSERT(FALSE);
|
||||
}
|
||||
|
||||
SrbExtension->FeaturesLow = 0;
|
||||
|
|
Loading…
Reference in a new issue