diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-10 05:31:26 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-10 05:31:45 +0100 |
| commit | 5cc390ec5a0f31282c614b2702b60e1c9db3d335 (patch) | |
| tree | 143db3bad6c4cfd0f3ef93006ae65c9ec0e58dcc /dev/Kernel | |
| parent | 7855b98f7cbe83d77f1625f7b5017060b97e5b75 (diff) | |
AHCI.cc: Clear kACHICommandIssued once Ci is clear.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
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) { |
