From: Jeff Skirvin Date: Mon, 20 Jun 2011 21:09:11 +0000 (-0700) Subject: isci: Requests that do not start must be set to "complete" X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f53a3a32c1e799e27f63bff7b42b4c36749e5e6f;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git isci: Requests that do not start must be set to "complete" Requests that fail at start because of a reset pending condition must be set to complete in order to allow for later cleanup. Signed-off-by: Jeff Skirvin Signed-off-by: Dan Williams --- diff --git a/drivers/scsi/isci/request.c b/drivers/scsi/isci/request.c index 3a891d32c33..5879e5f308e 100644 --- a/drivers/scsi/isci/request.c +++ b/drivers/scsi/isci/request.c @@ -3678,18 +3678,19 @@ int isci_request_execute( * Update it's status and add it to the list in the * remote device object. */ - isci_request_change_state(request, started); list_add(&request->dev_node, &isci_device->reqs_in_process); if (status == SCI_SUCCESS) { /* Save the tag for possible task mgmt later. */ request->io_tag = request->sci.io_tag; + isci_request_change_state(request, started); } else { /* The request did not really start in the * hardware, so clear the request handle * here so no terminations will be done. */ request->terminated = true; + isci_request_change_state(request, completed); } spin_unlock_irqrestore(&isci_host->scic_lock, flags);