diff options
Diffstat (limited to 'drivers/scsi/libata-bmdma.c')
-rw-r--r-- | drivers/scsi/libata-bmdma.c | 11 |
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 | */ |
713 | void ata_bmdma_drive_eh(struct ata_port *ap, ata_reset_fn_t softreset, | 714 | void 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 | /** |