diff options
author | Jeff Skirvin <jeffrey.d.skirvin@intel.com> | 2012-03-09 01:42:05 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2012-05-17 17:33:42 -0400 |
commit | 1db79b3e784bffe7e00f9462a5c3441746e48632 (patch) | |
tree | fbe817512475d81423cbecb861a95e770aac5a70 /drivers/scsi/isci | |
parent | 0cce165e2814bc8c08ab229db5e17013971dced7 (diff) |
isci: Directly control IREQ_ABORT_PATH_ACTIVE when completing TMFs.
TMF requests, unlike normal I/O requests, need to handle I/O management
conditions in the completion function because TMFs are not handled in the
completion tasklet.
Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci')
-rw-r--r-- | drivers/scsi/isci/task.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c index e798c6ae9592..084f8f73fade 100644 --- a/drivers/scsi/isci/task.c +++ b/drivers/scsi/isci/task.c | |||
@@ -719,6 +719,9 @@ isci_task_request_complete(struct isci_host *ihost, | |||
719 | */ | 719 | */ |
720 | set_bit(IREQ_TERMINATED, &ireq->flags); | 720 | set_bit(IREQ_TERMINATED, &ireq->flags); |
721 | 721 | ||
722 | if (test_and_clear_bit(IREQ_ABORT_PATH_ACTIVE, &ireq->flags)) | ||
723 | wake_up_all(&ihost->eventq); | ||
724 | |||
722 | if (!test_bit(IREQ_NO_AUTO_FREE_TAG, &ireq->flags)) | 725 | if (!test_bit(IREQ_NO_AUTO_FREE_TAG, &ireq->flags)) |
723 | isci_free_tag(ihost, ireq->io_tag); | 726 | isci_free_tag(ihost, ireq->io_tag); |
724 | 727 | ||