mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
scsi: ibmvscsis: Clean up properly if target_submit_cmd/tmr fails
[ Upstream commit 7435b32e2d ]
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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
29022860df
commit
4d36f4859f
@@ -2552,6 +2552,10 @@ static void ibmvscsis_parse_cmd(struct scsi_info *vscsi,
|
|||||||
data_len, attr, dir, 0);
|
data_len, attr, dir, 0);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
dev_err(&vscsi->dev, "target_submit_cmd failed, rc %d\n", 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;
|
goto fail;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -2631,6 +2635,9 @@ static void ibmvscsis_parse_task(struct scsi_info *vscsi,
|
|||||||
if (rc) {
|
if (rc) {
|
||||||
dev_err(&vscsi->dev, "target_submit_tmr failed, rc %d\n",
|
dev_err(&vscsi->dev, "target_submit_tmr failed, rc %d\n",
|
||||||
rc);
|
rc);
|
||||||
|
spin_lock_bh(&vscsi->intr_lock);
|
||||||
|
list_del(&cmd->list);
|
||||||
|
spin_unlock_bh(&vscsi->intr_lock);
|
||||||
cmd->se_cmd.se_tmr_req->response =
|
cmd->se_cmd.se_tmr_req->response =
|
||||||
TMR_FUNCTION_REJECTED;
|
TMR_FUNCTION_REJECTED;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user