Hello, Mark Paulus wrote: > sata_sil 0000:02:0b.0: version 2.2 > ACPI: PCI Interrupt 0000:02:0b.0[A] -> GSI 22 (level, low) -> IRQ 18 > scsi0 : sata_sil > scsi1 : sata_sil > ata1: SATA max UDMA/100 cmd 0xe0812080 ctl 0xe081208a bmdma 0xe0812000 > irq 18 > ata2: SATA max UDMA/100 cmd 0xe08120c0 ctl 0xe08120ca bmdma 0xe0812008 > irq 18 > ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata1.00: ATA-5: ST310216A, 3.01, max UDMA/100 > ata1.00: 19541088 sectors, multi 16: LBA ata1.00: applying bridge limits > ata1.00: failed to IDENTIFY (I/O error, err_mask=0x40) > ata1.00: revalidation failed (errno=-5) > ata1: failed to recover some devices, retrying in 5 secs > ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata1.00: failed to set xfermode (err_mask=0x40) > ata1.00: limiting speed to UDMA/100:PIO3 > ata1: failed to recover some devices, retrying in 5 secs > ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata1.00: failed to set xfermode (err_mask=0x40) It looks like for some reason the port is being frozen repeatedly. Can you please apply the attached patch and post the dmesg? Thanks. -- tejun
--- drivers/ata/sata_sil.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) Index: tree0/drivers/ata/sata_sil.c =================================================================== --- tree0.orig/drivers/ata/sata_sil.c +++ tree0/drivers/ata/sata_sil.c @@ -390,11 +390,15 @@ static void sil_host_intr(struct ata_por ap->eh_info.serror |= serror; } + ata_port_printk(ap, KERN_INFO, "XXX SATA_IRQ, serror=0x%x\n", + serror); goto freeze; } - if (unlikely(!qc)) + if (unlikely(!qc)) { + ata_port_printk(ap, KERN_INFO, "XXX DMA completion w/o qc\n"); goto freeze; + } if (unlikely(qc->tf.flags & ATA_TFLAG_POLLING)) { /* this sometimes happens, just clear IRQ */