mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 18:24:02 +00:00
Fixed write crashes, write support working. Tested on win2k3 sp2 vmware sata
svn path=/branches/GSoC_2016/AHCI/; revision=72005
This commit is contained in:
parent
c903cda7aa
commit
6f2ba170ae
1 changed files with 9 additions and 2 deletions
|
@ -1800,7 +1800,6 @@ UCHAR DeviceRequestReadWrite (
|
||||||
{
|
{
|
||||||
SrbExtension->Flags |= ATA_FLAGS_DATA_OUT;
|
SrbExtension->Flags |= ATA_FLAGS_DATA_OUT;
|
||||||
SrbExtension->CommandReg = IDE_COMMAND_WRITE_DMA;
|
SrbExtension->CommandReg = IDE_COMMAND_WRITE_DMA;
|
||||||
//NT_ASSERT(FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SrbExtension->FeaturesLow = 0;
|
SrbExtension->FeaturesLow = 0;
|
||||||
|
@ -1813,7 +1812,15 @@ UCHAR DeviceRequestReadWrite (
|
||||||
if (PortExtension->DeviceParams.Lba48BitMode)
|
if (PortExtension->DeviceParams.Lba48BitMode)
|
||||||
{
|
{
|
||||||
SrbExtension->Flags |= ATA_FLAGS_48BIT_COMMAND;
|
SrbExtension->Flags |= ATA_FLAGS_48BIT_COMMAND;
|
||||||
|
|
||||||
|
if (IsReading)
|
||||||
|
{
|
||||||
SrbExtension->CommandReg = IDE_COMMAND_READ_DMA_EXT;
|
SrbExtension->CommandReg = IDE_COMMAND_READ_DMA_EXT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SrbExtension->CommandReg = IDE_COMMAND_WRITE_DMA_EXT;
|
||||||
|
}
|
||||||
|
|
||||||
SrbExtension->LBA3 = (StartOffset >> 24) & 0xFF;
|
SrbExtension->LBA3 = (StartOffset >> 24) & 0xFF;
|
||||||
SrbExtension->LBA4 = (StartOffset >> 32) & 0xFF;
|
SrbExtension->LBA4 = (StartOffset >> 32) & 0xFF;
|
||||||
|
|
Loading…
Reference in a new issue