panic: ahci_put_err_ccb(1) but CI 00000002 != 0

Matthew Dillon dillon at apollo.backplane.com
Sat Aug 22 10:05:30 PDT 2009


:  ahci0: AHCI 1.0 capabilities 0xc722f00<S64A,NCQ,SALP,SAL,SCLO,SPM,PMD,SSC,PSC>, 1 ports, 32 tags/port, gen 1 (1.5Gbps) and 2 (3Gbps)
:  IOAPIC: try clearing IRR for irq 24
:  ahci0.0: START HARDRESET
:  ahci0.0: Transient Errors: 400000<PRCS>
:  ahci0.0: Restart 00000002
:  ahci0.0.15: Poll timeout slot 1 CMD: 64010<HPCP,PMA,FR,FRE> TFD: 0x77<ERR> SERR: 40000<DIAG.W>
:  ahci0.0: PMPROBE First FIS failed
:  panic: ahci_put_err_ccb(1) but CI 00000002 != 0 (act=00000000 sact=00000000)
:
:  mp_lock = 00000000; cpuid = 0
:
:..
:kernel minus nata driver, which ended up with the same panic.  Is there
:anything else I can try or any suggestions on where to look at?  The kernel
:is compiled from the source code as of a22da047710, so I believe it has all
:AHCI-related fixes.
:
:Best Regards.

    Hmm.  Very interesting.  It is getting a PRCS interrupt while it
    is trying to send a software reset, then attempting to restart
    the software reset.  Oh joy.  I clear any pending PRCS from the port
    hardreset sequence so that means the target device is resetting
    its PHY when we try to send a device reset to it, which it is not
    supposed to do.

    Try this patch.  It is completely untested (other then a compile test):

	fetch http://apollo.backplane.com/DFlyMisc/ahci14.patch

    If that doesn't work try also (with patch still applied) increasing
    the timeout in the ahci_poll() command in ahci_pm_port_probe() around
    line around line 145 from 1000 to 5000.

						-Matt







More information about the Bugs mailing list