diff options
Diffstat (limited to 'dev/Kernel/HALKit')
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/AHCI.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc index bb37fd11..e1f48503 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc @@ -179,10 +179,16 @@ STATIC Void drv_std_input_output(UInt64 lba, UInt8* buffer, SizeT sector_sz, Siz kSATAHba->Ports[kSATAIndex].Ci = (1 << slot); - while (1) + while (YES) { if ((kSATAHba->Ports[kSATAIndex].Ci & (1 << slot)) == 0) break; + + if (kSATAHba->Is & kHBAErrTaskFile) + { + err_global_get() = kErrorDiskIsCorrupted; + return; + } } // Check IS again. |
