aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-bmdma.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libata-bmdma.c')
-rw-r--r--drivers/scsi/libata-bmdma.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/scsi/libata-bmdma.c b/drivers/scsi/libata-bmdma.c
index 6d30d2c52960..4bc05371737c 100644
--- a/drivers/scsi/libata-bmdma.c
+++ b/drivers/scsi/libata-bmdma.c
@@ -695,6 +695,7 @@ void ata_bmdma_thaw(struct ata_port *ap)
695/** 695/**
696 * ata_bmdma_drive_eh - Perform EH with given methods for BMDMA controller 696 * ata_bmdma_drive_eh - Perform EH with given methods for BMDMA controller
697 * @ap: port to handle error for 697 * @ap: port to handle error for
698 * @prereset: prereset method (can be NULL)
698 * @softreset: softreset method (can be NULL) 699 * @softreset: softreset method (can be NULL)
699 * @hardreset: hardreset method (can be NULL) 700 * @hardreset: hardreset method (can be NULL)
700 * @postreset: postreset method (can be NULL) 701 * @postreset: postreset method (can be NULL)
@@ -710,8 +711,9 @@ void ata_bmdma_thaw(struct ata_port *ap)
710 * LOCKING: 711 * LOCKING:
711 * Kernel thread context (may sleep) 712 * Kernel thread context (may sleep)
712 */ 713 */
713void ata_bmdma_drive_eh(struct ata_port *ap, ata_reset_fn_t softreset, 714void ata_bmdma_drive_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
714 ata_reset_fn_t hardreset, ata_postreset_fn_t postreset) 715 ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
716 ata_postreset_fn_t postreset)
715{ 717{
716 struct ata_host_set *host_set = ap->host_set; 718 struct ata_host_set *host_set = ap->host_set;
717 struct ata_eh_context *ehc = &ap->eh_context; 719 struct ata_eh_context *ehc = &ap->eh_context;
@@ -759,7 +761,7 @@ void ata_bmdma_drive_eh(struct ata_port *ap, ata_reset_fn_t softreset,
759 ata_eh_thaw_port(ap); 761 ata_eh_thaw_port(ap);
760 762
761 /* PIO and DMA engines have been stopped, perform recovery */ 763 /* PIO and DMA engines have been stopped, perform recovery */
762 ata_do_eh(ap, softreset, hardreset, postreset); 764 ata_do_eh(ap, prereset, softreset, hardreset, postreset);
763} 765}
764 766
765/** 767/**
@@ -779,7 +781,8 @@ void ata_bmdma_error_handler(struct ata_port *ap)
779 if (sata_scr_valid(ap)) 781 if (sata_scr_valid(ap))
780 hardreset = sata_std_hardreset; 782 hardreset = sata_std_hardreset;
781 783
782 ata_bmdma_drive_eh(ap, ata_std_softreset, hardreset, ata_std_postreset); 784 ata_bmdma_drive_eh(ap, ata_std_prereset, ata_std_softreset, hardreset,
785 ata_std_postreset);
783} 786}
784 787
785/** 788/**