p4-projects@freebsd.org
[Top] [All Lists]

PERFORCE change 164400 for review

Subject: PERFORCE change 164400 for review
From: Alexander Motin
Date: Mon, 15 Jun 2009 07:05:06 GMT
http://perforce.freebsd.org/chv.cgi?CH=164400

Change 164400 by mav@mav_mavbook on 2009/06/15 07:04:52

        Use CLO only with Soft Reset command. Using it in other cases opens
        race window in SATA protocol, causing false errors reports.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#32 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#32 (text+ko) ====

@@ -857,13 +857,13 @@
                ahci_phy_check_events(dev);
        /* Process command errors */
        if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) 
{
-device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x\n",
-    __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, 
AHCI_P_TFD));
+device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr 
%08x\n",
+    __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, 
AHCI_P_TFD),
+    ATA_INL(ch->r_mem, AHCI_P_SERR));
                ccs = (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_CCS_MASK)
                    >> AHCI_P_CMD_CCS_SHIFT;
                /* Kick controller into sane state */
                ahci_stop(dev);
-               ahci_clo(dev);
                ahci_start(dev);
                ok = ch->rslots & ~(cstatus | sstatus);
                err = ch->rslots & (cstatus | sstatus);
@@ -1139,7 +1139,6 @@
                if (et != AHCI_ERR_NONE) {
                        /* Kick controller into sane state */
                        ahci_stop(ch->dev);
-                       ahci_clo(ch->dev);
                        ahci_start(ch->dev);
                        xpt_freeze_simq(ch->sim, 1);
                }
@@ -1164,7 +1163,6 @@
 
        /* Kick controller into sane state. */
        ahci_stop(ch->dev);
-       ahci_clo(ch->dev);
        ahci_start(ch->dev);
 
        if (!ch->readlog)
_______________________________________________
p4-projects@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/p4-projects
To unsubscribe, send any mail to "p4-projects-unsubscribe@xxxxxxxxxxx"

<Prev in Thread] Current Thread [Next in Thread>
  • PERFORCE change 164400 for review, Alexander Motin <=