mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:15:41 +00:00
- Increase waiting time for DRQ removal inside AtapiInterrupt twice.
- Don't disable/enable IDE controller interrupts in AtapiSendCommand. This confuses Virtual Box's controller (it consumes one interrupt without ever emitting it) and thus sending any ATAPI command fails. - Turn off ATAPI DMA raw read support by default. It seems to be incompatible with (at least) Virtual Box IDE controller. See issue #3645 for more details. svn path=/trunk/; revision=41173
This commit is contained in:
parent
b231782314
commit
b5000fe04d
2 changed files with 4 additions and 4 deletions
|
@ -4305,7 +4305,7 @@ continue_err:
|
|||
for (k = atapiDev ? 0 : 200; k; k--) {
|
||||
GetStatus(chan, statusByte);
|
||||
if (!(statusByte & IDE_STATUS_DRQ)) {
|
||||
AtapiStallExecution(50);
|
||||
AtapiStallExecution(100);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
@ -6365,7 +6365,7 @@ make_reset:
|
|||
InterlockedExchange(&(chan->CheckIntr),
|
||||
CHECK_INTR_IDLE);
|
||||
|
||||
AtapiDisableInterrupts(deviceExtension, lChannel);
|
||||
//AtapiDisableInterrupts(deviceExtension, lChannel);
|
||||
|
||||
// Write ATAPI packet command.
|
||||
AtapiWritePort1(chan, IDX_IO1_o_Command, IDE_COMMAND_ATAPI_PACKET);
|
||||
|
@ -6400,7 +6400,7 @@ make_reset:
|
|||
|
||||
GetBaseStatus(chan, statusByte);
|
||||
|
||||
AtapiEnableInterrupts(deviceExtension, lChannel);
|
||||
//AtapiEnableInterrupts(deviceExtension, lChannel);
|
||||
|
||||
WriteBuffer(chan,
|
||||
(PUSHORT)Srb->Cdb,
|
||||
|
|
|
@ -1279,7 +1279,7 @@ AtapiReadChipConfig(
|
|||
}
|
||||
deviceExtension->opt_AtapiDmaZeroTransfer = FALSE;
|
||||
deviceExtension->opt_AtapiDmaControlCmd = FALSE;
|
||||
deviceExtension->opt_AtapiDmaRawRead = TRUE;
|
||||
deviceExtension->opt_AtapiDmaRawRead = FALSE;//TRUE; // Disabling that for VirtualBox
|
||||
deviceExtension->opt_AtapiDmaReadWrite = TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue