diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-14 06:36:16 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-14 06:36:16 +0100 |
| commit | cab00775722637db2c99d0535f756f9282572dcb (patch) | |
| tree | 101c2606c18a5b4515c9d649e759da92da03d490 /dev/Kernel/HALKit/AMD64/Storage | |
| parent | b430026b7656173f78f62dfdab13fa705b2cc718 (diff) | |
AHCI.cc: Check Is for an HBA error.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/HALKit/AMD64/Storage')
| -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. |
