summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-03-14 10:38:25 +0000
committermav <mav@FreeBSD.org>2015-03-14 10:38:25 +0000
commitdd99a4abcb0279aa615f45d11889ac5e3c15ee58 (patch)
treee28ee0c77bfc6ea29835132fdfefd7e6823006f6 /usr.sbin
parent36590090f2941d3d2dcfd8605db53e743a8432d3 (diff)
downloadFreeBSD-src-dd99a4abcb0279aa615f45d11889ac5e3c15ee58.zip
FreeBSD-src-dd99a4abcb0279aa615f45d11889ac5e3c15ee58.tar.gz
Fix NOP and IDLE commands for virtual AHCI disks.
MFC after: 2 weeks
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bhyve/pci_ahci.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c
index af20e71..c9ce5e4 100644
--- a/usr.sbin/bhyve/pci_ahci.c
+++ b/usr.sbin/bhyve/pci_ahci.c
@@ -1582,10 +1582,13 @@ ahci_handle_cmd(struct ahci_port *p, int slot, uint8_t *cfis)
case ATA_READ_LOG_DMA_EXT:
ahci_handle_read_log(p, slot, cfis);
break;
- case ATA_STANDBY_CMD:
- break;
case ATA_NOP:
+ ahci_write_fis_d2h(p, slot, cfis,
+ (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR);
+ break;
+ case ATA_STANDBY_CMD:
case ATA_STANDBY_IMMEDIATE:
+ case ATA_IDLE_CMD:
case ATA_IDLE_IMMEDIATE:
case ATA_SLEEP:
ahci_write_fis_d2h(p, slot, cfis, ATA_S_READY | ATA_S_DSC);
OpenPOWER on IntegriCloud