diff options
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/sata_sil24.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index e6fe4c424a62..e538edc1b4ea 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c | |||
@@ -578,8 +578,8 @@ static int sil24_exec_polled_cmd(struct ata_port *ap, int pmp, | |||
578 | return rc; | 578 | return rc; |
579 | } | 579 | } |
580 | 580 | ||
581 | static int sil24_softreset(struct ata_port *ap, unsigned int *class, | 581 | static int sil24_do_softreset(struct ata_port *ap, unsigned int *class, |
582 | unsigned long deadline) | 582 | int pmp, unsigned long deadline) |
583 | { | 583 | { |
584 | unsigned long timeout_msec = 0; | 584 | unsigned long timeout_msec = 0; |
585 | struct ata_taskfile tf; | 585 | struct ata_taskfile tf; |
@@ -605,7 +605,8 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class, | |||
605 | timeout_msec = jiffies_to_msecs(deadline - jiffies); | 605 | timeout_msec = jiffies_to_msecs(deadline - jiffies); |
606 | 606 | ||
607 | ata_tf_init(ap->device, &tf); /* doesn't really matter */ | 607 | ata_tf_init(ap->device, &tf); /* doesn't really matter */ |
608 | rc = sil24_exec_polled_cmd(ap, 0, &tf, 0, PRB_CTRL_SRST, timeout_msec); | 608 | rc = sil24_exec_polled_cmd(ap, pmp, &tf, 0, PRB_CTRL_SRST, |
609 | timeout_msec); | ||
609 | if (rc == -EBUSY) { | 610 | if (rc == -EBUSY) { |
610 | reason = "timeout"; | 611 | reason = "timeout"; |
611 | goto err; | 612 | goto err; |
@@ -629,6 +630,12 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class, | |||
629 | return -EIO; | 630 | return -EIO; |
630 | } | 631 | } |
631 | 632 | ||
633 | static int sil24_softreset(struct ata_port *ap, unsigned int *class, | ||
634 | unsigned long deadline) | ||
635 | { | ||
636 | return sil24_do_softreset(ap, class, 0, deadline); | ||
637 | } | ||
638 | |||
632 | static int sil24_hardreset(struct ata_port *ap, unsigned int *class, | 639 | static int sil24_hardreset(struct ata_port *ap, unsigned int *class, |
633 | unsigned long deadline) | 640 | unsigned long deadline) |
634 | { | 641 | { |