[SCSI] zfcp: Fix abort handler for completions in progress
When the abort handler cannot find a pending FSF request, the request completion could just be running. This means we cannot return SUCCESS, since this would lead to call to scsi_done after exiting the SCSI error handler which is not allowed. Reviewed-by: Martin Petermann <martin@linux.vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
5b43e71930
Коммит
c6936e7f34
|
@ -171,7 +171,7 @@ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
|
||||||
write_unlock_irqrestore(&adapter->abort_lock, flags);
|
write_unlock_irqrestore(&adapter->abort_lock, flags);
|
||||||
zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL,
|
zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL,
|
||||||
old_req_id);
|
old_req_id);
|
||||||
return SUCCESS;
|
return FAILED; /* completion could be in progress */
|
||||||
}
|
}
|
||||||
old_req->data = NULL;
|
old_req->data = NULL;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче