summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ic/ahci.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ic/ahci.c b/sys/dev/ic/ahci.c
index 43b4d1d..14dbf74 100644
--- a/sys/dev/ic/ahci.c
+++ b/sys/dev/ic/ahci.c
@@ -444,6 +444,12 @@ ahci_reset_port(struct hba_port *port)
{
uint32_t sctl, ssts;
+ /*
+ * Some odd behaviour may occur if a COMRESET is sent
+ * to the port while it is in an idle state...
+ * A workaround to this is to bring the port up
+ * then immediately transmit the COMRESET to the device.
+ */
ahci_start_port(port);
sctl = mmio_read32(&port->sctl);