diff --git a/sys/dev/disk/ahci/ahci.c b/sys/dev/disk/ahci/ahci.c --- a/sys/dev/disk/ahci/ahci.c +++ b/sys/dev/disk/ahci/ahci.c @@ -3964,7 +3964,8 @@ if (ap->ap_sactive & ci_saved) ahci_pwrite(ap, AHCI_PREG_SACT, ci_saved); ahci_pwrite(ap, AHCI_PREG_CI, ci_saved); - } else if (ci_saved) { + } else if (ci_saved != 0) { + ci_saved &= (1U << ap->ap_sc->sc_ncmds) - 1; struct ata_port *ccb_at; int i; int fis_target;