diff options
Diffstat (limited to 'dev/Kernel')
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/AHCI.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc index 6650d460..9e1c2326 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc @@ -158,8 +158,16 @@ STATIC Void drv_std_input_output(UInt64 lba, UInt8* buffer, SizeT sector_sz, Siz } kSATA[kSATAIndex]->Ports[kSATAIndex].Ci = (1 << slot); + kAHCICommandIssued = YES; + while (kSATA[kSATAIndex]->Ports[kSATAIndex].Ci & (1 << slot)) + { + ; + } + + kAHCICommandIssued = NO; + // check again. if (kSATA[kSATAIndex]->Is & kHBAErrTaskFile) { |
