diff --git a/repos/os/src/drivers/ahci/ata_driver.h b/repos/os/src/drivers/ahci/ata_driver.h index b65a77a97..538ee9e4b 100644 --- a/repos/os/src/drivers/ahci/ata_driver.h +++ b/repos/os/src/drivers/ahci/ata_driver.h @@ -138,6 +138,8 @@ struct Ncq_command : Io_command unsigned slot) override { table.fis.fpdma(read, block_number, count, slot); + /* ensure that 'Cmd::St' is 1 before writing 'Sact' */ + port.start(); /* set pending */ port.write(1U << slot); }