summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel')
-rw-r--r--dev/Kernel/HALKit/AMD64/Storage/AHCI.cc8
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)
{