diff options
author | Tejun Heo <htejun@gmail.com> | 2006-03-05 15:29:09 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-11 17:57:20 -0500 |
commit | 86e45b6bd6900c4a0b3666fb18b46e215f775c4f (patch) | |
tree | 5b86ebd0b0b17d05bdfdd07b7683f7348577b52a /drivers/scsi/libata-scsi.c | |
parent | d7fc3ca1cd0ecce82263299c6b1631fc83b0ec79 (diff) |
[PATCH] libata: implement port_task
Implement port_task. LLDD's can schedule a function to be executed
with context after specified delay. libata core takes care of
synchronization against EH. This is generalized form of pio_task and
packet_task which are tied to PIO hsm implementation.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-scsi.c')
-rw-r--r-- | drivers/scsi/libata-scsi.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index d0bd94abb41..ccedb453697 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c @@ -785,6 +785,8 @@ int ata_scsi_error(struct Scsi_Host *host) WARN_ON(ata_qc_from_tag(ap, ap->active_tag) == NULL); spin_unlock_irqrestore(&ap->host_set->lock, flags); + ata_port_flush_task(ap); + ap->ops->eng_timeout(ap); WARN_ON(host->host_failed || !list_empty(&host->eh_cmd_q)); |