Index: sys/dev/nvme/nvme_ctrlr.c =================================================================== --- sys/dev/nvme/nvme_ctrlr.c +++ sys/dev/nvme/nvme_ctrlr.c @@ -309,8 +309,7 @@ /* EN == 0 already wait for RDY == 0 */ if (rdy == 0) return (0); - else - return (nvme_ctrlr_wait_for_ready(ctrlr, 0)); + return (nvme_ctrlr_wait_for_ready(ctrlr, 0)); } cc &= ~NVME_CC_REG_EN_MASK; @@ -347,15 +346,14 @@ if (en == 1) { if (rdy == 1) return (0); - else - return (nvme_ctrlr_wait_for_ready(ctrlr, 1)); - } else { - /* EN == 0 already wait for RDY == 0 or fail */ - err = nvme_ctrlr_wait_for_ready(ctrlr, 0); - if (err != 0) - return (err); + return (nvme_ctrlr_wait_for_ready(ctrlr, 1)); } + /* EN == 0 already wait for RDY == 0 or fail */ + err = nvme_ctrlr_wait_for_ready(ctrlr, 0); + if (err != 0) + return (err); + nvme_mmio_write_8(ctrlr, asq, ctrlr->adminq.cmd_bus_addr); DELAY(5000); nvme_mmio_write_8(ctrlr, acq, ctrlr->adminq.cpl_bus_addr);