Commit 77bdd9ee authored by Eric Moore's avatar Eric Moore Committed by James Bottomley

[SCSI] mpt2sas : running out of message frames

The driver is not freeing message frame when returning failure from
_ctl_do_task_abort.   If you call this function 500 times when its unable
to find an active task mid, you end up with no message frames.
Signed-off-by: default avatarEric Moore <eric.moore@lsi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 0d04df9b
...@@ -714,9 +714,11 @@ _ctl_do_mpt_command(struct MPT2SAS_ADAPTER *ioc, ...@@ -714,9 +714,11 @@ _ctl_do_mpt_command(struct MPT2SAS_ADAPTER *ioc,
if (tm_request->TaskType == if (tm_request->TaskType ==
MPI2_SCSITASKMGMT_TASKTYPE_ABORT_TASK) { MPI2_SCSITASKMGMT_TASKTYPE_ABORT_TASK) {
if (_ctl_do_task_abort(ioc, &karg, tm_request)) if (_ctl_do_task_abort(ioc, &karg, tm_request)) {
mpt2sas_base_free_smid(ioc, smid);
goto out; goto out;
} }
}
mutex_lock(&ioc->tm_cmds.mutex); mutex_lock(&ioc->tm_cmds.mutex);
mpt2sas_scsih_set_tm_flag(ioc, le16_to_cpu( mpt2sas_scsih_set_tm_flag(ioc, le16_to_cpu(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment