aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/libata-core.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 665ae79e1fd..9f27e8d0e77 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1444,11 +1444,23 @@ void __sata_phy_reset(struct ata_port *ap)
1444 } while (time_before(jiffies, timeout)); 1444 } while (time_before(jiffies, timeout));
1445 1445
1446 /* TODO: phy layer with polling, timeouts, etc. */ 1446 /* TODO: phy layer with polling, timeouts, etc. */
1447 if (sata_dev_present(ap)) 1447 sstatus = scr_read(ap, SCR_STATUS);
1448 if (sata_dev_present(ap)) {
1449 const char *speed;
1450 u32 tmp;
1451
1452 tmp = (sstatus >> 4) & 0xf;
1453 if (tmp & (1 << 0))
1454 speed = "1.5";
1455 else if (tmp & (1 << 1))
1456 speed = "3.0";
1457 else
1458 speed = "<unknown>";
1459 printk(KERN_INFO "ata%u: SATA link up %s Gbps (SStatus %X)\n",
1460 ap->id, speed, sstatus);
1448 ata_port_probe(ap); 1461 ata_port_probe(ap);
1449 else { 1462 } else {
1450 sstatus = scr_read(ap, SCR_STATUS); 1463 printk(KERN_INFO "ata%u: SATA link down (SStatus %X)\n",
1451 printk(KERN_INFO "ata%u: no device found (phy stat %08x)\n",
1452 ap->id, sstatus); 1464 ap->id, sstatus);
1453 ata_port_disable(ap); 1465 ata_port_disable(ap);
1454 } 1466 }