If not, a 6Gbps link may be limited to 1.5 Gbps instead of 3.0 Gbps, since ata_dev_init initializes link->sata_spd to 0. [ 938.387795] ata4: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen [ 938.387803] ata4: irq_stat 0x00400040, connection status changed [ 938.387807] ata4: SError: { HostInt PHYRdyChg 10B8B DevExch } [ 938.387814] ata4: hard resetting link [ 939.108967] ata4: SATA link down (SStatus 0 SControl 300) [ 944.100701] ata4: hard resetting link [ 944.404187] ata4: SATA link down (SStatus 0 SControl 300) [ 944.404198] ata4: limiting SATA link speed to 1.5 Gbps [ 949.394013] ata4: hard resetting link [ 949.697465] ata4: SATA link down (SStatus 0 SControl 310) [ 949.697476] ata4.00: disabled [ 949.697490] ata4: EH complete [ 949.697503] ata4.00: detaching (SCSI 3:0:0:0) Signed-off-by: David Milburn <dmilburn@xxxxxxxxxx> --- drivers/ata/libata-core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index ee4c1ec..38c40cf 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -3002,16 +3002,16 @@ int ata_bus_probe(struct ata_port *ap) */ static void sata_print_link_status(struct ata_link *link) { - u32 sstatus, scontrol, tmp; + u32 sstatus, scontrol; if (sata_scr_read(link, SCR_STATUS, &sstatus)) return; sata_scr_read(link, SCR_CONTROL, &scontrol); if (ata_phys_link_online(link)) { - tmp = (sstatus >> 4) & 0xf; + link->sata_spd = (sstatus >> 4) & 0xf; ata_link_info(link, "SATA link up %s (SStatus %X SControl %X)\n", - sata_spd_string(tmp), sstatus, scontrol); + sata_spd_string(link->sata_spd), sstatus, scontrol); } else { ata_link_info(link, "SATA link down (SStatus %X SControl %X)\n", sstatus, scontrol); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html