summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/HALKit/AMD64/Storage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-14 06:36:16 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-14 06:36:16 +0100
commitcab00775722637db2c99d0535f756f9282572dcb (patch)
tree101c2606c18a5b4515c9d649e759da92da03d490 /dev/Kernel/HALKit/AMD64/Storage
parentb430026b7656173f78f62dfdab13fa705b2cc718 (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.cc8
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.