1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:48:11 +00:00

Kernel/Storage: Remove the None option from AHCI reset policy

This was proved to be a problematic option. I tested this option on
bare metal AHCI controller, and if we didn't reset the controller, the
firmware (SeaBIOS) could leave the controller state not clean, so an
plugged device signature was in place although the specific port had no
plugged device after rebooting.
Therefore, we need to ensure we use the controller in a clean state
always.

In addition to that, the Complete option was renamed to Aggressive, as
it represents better the consequences of choosing this option.
This commit is contained in:
Liav A 2021-05-29 01:18:45 +03:00 committed by Andreas Kling
parent 5c1073a62d
commit d431e4cd01
4 changed files with 8 additions and 13 deletions

View file

@ -178,10 +178,8 @@ UNMAP_AFTER_INIT AHCIResetMode CommandLine::ahci_reset_mode() const
const auto ahci_reset_mode = lookup("ahci_reset_mode").value_or("controller");
if (ahci_reset_mode == "controller") {
return AHCIResetMode::ControllerOnly;
} else if (ahci_reset_mode == "none") {
return AHCIResetMode::None;
} else if (ahci_reset_mode == "complete") {
return AHCIResetMode::Complete;
} else if (ahci_reset_mode == "aggressive") {
return AHCIResetMode::Aggressive;
}
PANIC("Unknown AHCIResetMode: {}", ahci_reset_mode);
}