From: Jeff Skirvin Date: Fri, 9 Mar 2012 06:42:05 +0000 (-0800) Subject: isci: Directly control IREQ_ABORT_PATH_ACTIVE when completing TMFs. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1db79b3e784bffe7e00f9462a5c3441746e48632;p=linux-beck.git 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 Signed-off-by: Dan Williams --- 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, */ set_bit(IREQ_TERMINATED, &ireq->flags); + if (test_and_clear_bit(IREQ_ABORT_PATH_ACTIVE, &ireq->flags)) + wake_up_all(&ihost->eventq); + if (!test_bit(IREQ_NO_AUTO_FREE_TAG, &ireq->flags)) isci_free_tag(ihost, ireq->io_tag);