scsi: ibmvscsis: Clean up properly if target_submit_cmd/tmr fails
Signed-off-by: Michael Cyr <mikecyr@us.ibm.com> Signed-off-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com> Tested-by: Steven Royer <seroyer@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
8bf11557d4
Коммит
7435b32e2d
|
@ -2560,6 +2560,10 @@ static void ibmvscsis_parse_cmd(struct scsi_info *vscsi,
|
|||
data_len, attr, dir, 0);
|
||||
if (rc) {
|
||||
dev_err(&vscsi->dev, "target_submit_cmd failed, rc %d\n", rc);
|
||||
spin_lock_bh(&vscsi->intr_lock);
|
||||
list_del(&cmd->list);
|
||||
ibmvscsis_free_cmd_resources(vscsi, cmd);
|
||||
spin_unlock_bh(&vscsi->intr_lock);
|
||||
goto fail;
|
||||
}
|
||||
return;
|
||||
|
@ -2639,6 +2643,9 @@ static void ibmvscsis_parse_task(struct scsi_info *vscsi,
|
|||
if (rc) {
|
||||
dev_err(&vscsi->dev, "target_submit_tmr failed, rc %d\n",
|
||||
rc);
|
||||
spin_lock_bh(&vscsi->intr_lock);
|
||||
list_del(&cmd->list);
|
||||
spin_unlock_bh(&vscsi->intr_lock);
|
||||
cmd->se_cmd.se_tmr_req->response =
|
||||
TMR_FUNCTION_REJECTED;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче