aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sil24.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-04-07 12:46:56 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:25 -0400
commit45db2f6c95eee7c6622ea1b3edb9abafba58e3ab (patch)
tree1c57efcf3e118b177dd7c9c1070b8af70694aff3 /drivers/ata/sata_sil24.c
parent2a0c15ca39f5881aa1b472ca856bb7a2e584ece7 (diff)
libata: move link onlineness check out of softreset methods
Currently, SATA softresets should do link onlineness check before actually performing SRST protocol but it doesn't really belong to softreset. This patch moves onlineness check in softreset to ata_eh_reset() and ata_eh_followup_srst_needed() to clean up code and help future sata_mv changes which need clear separation between SCR and TF accesses. sata_fsl is peculiar in that its softreset really isn't softreset but combination of hardreset and softreset. This patch adds dummy private ->prereset to keep the current behavior but the driver really should implement separate hard and soft resets and return -EAGAIN from hardreset if it should be follwed by softreset. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/sata_sil24.c')
-rw-r--r--drivers/ata/sata_sil24.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 20757fa6115d..27a110110077 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -663,12 +663,6 @@ static int sil24_softreset(struct ata_link *link, unsigned int *class,
663 663
664 DPRINTK("ENTER\n"); 664 DPRINTK("ENTER\n");
665 665
666 if (ata_link_offline(link)) {
667 DPRINTK("PHY reports no device\n");
668 *class = ATA_DEV_NONE;
669 goto out;
670 }
671
672 /* put the port into known state */ 666 /* put the port into known state */
673 if (sil24_init_port(ap)) { 667 if (sil24_init_port(ap)) {
674 reason = "port not ready"; 668 reason = "port not ready";
@@ -693,7 +687,6 @@ static int sil24_softreset(struct ata_link *link, unsigned int *class,
693 sil24_read_tf(ap, 0, &tf); 687 sil24_read_tf(ap, 0, &tf);
694 *class = ata_dev_classify(&tf); 688 *class = ata_dev_classify(&tf);
695 689
696 out:
697 DPRINTK("EXIT, class=%u\n", *class); 690 DPRINTK("EXIT, class=%u\n", *class);
698 return 0; 691 return 0;
699 692