mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 02:02:28 +09:00
scsi: mpi3mr: Don't reset IOC if cmnds flush with reset status
Don't issue the soft reset if internal commands are flushed out with reset status. Soft reset needs to be issued only if commands are really timed out. Link: https://lore.kernel.org/r/20211220141159.16117-4-sreekanth.reddy@broadcom.com Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
a83ec831b2
commit
fbaa9aa48b
@@ -1947,8 +1947,9 @@ static int mpi3mr_sync_timestamp(struct mpi3mr_ioc *mrioc)
|
||||
if (!(mrioc->init_cmds.state & MPI3MR_CMD_COMPLETE)) {
|
||||
ioc_err(mrioc, "Issue IOUCTL time_stamp: command timed out\n");
|
||||
mrioc->init_cmds.is_waiting = 0;
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_TSU_TIMEOUT, 1);
|
||||
if (!(mrioc->init_cmds.state & MPI3MR_CMD_RESET))
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_TSU_TIMEOUT, 1);
|
||||
retval = -1;
|
||||
goto out_unlock;
|
||||
}
|
||||
@@ -2827,8 +2828,9 @@ int mpi3mr_send_event_ack(struct mpi3mr_ioc *mrioc, u8 event,
|
||||
(MPI3MR_INTADMCMD_TIMEOUT * HZ));
|
||||
if (!(mrioc->init_cmds.state & MPI3MR_CMD_COMPLETE)) {
|
||||
ioc_err(mrioc, "Issue EvtNotify: command timed out\n");
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_EVTACK_TIMEOUT, 1);
|
||||
if (!(mrioc->init_cmds.state & MPI3MR_CMD_RESET))
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_EVTACK_TIMEOUT, 1);
|
||||
retval = -1;
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
@@ -2659,8 +2659,9 @@ static int mpi3mr_issue_tm(struct mpi3mr_ioc *mrioc, u8 tm_type,
|
||||
ioc_err(mrioc, "%s :Issue TM: command timed out\n", __func__);
|
||||
drv_cmd->is_waiting = 0;
|
||||
retval = -1;
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_TM_TIMEOUT, 1);
|
||||
if (!(drv_cmd->state & MPI3MR_CMD_RESET))
|
||||
mpi3mr_soft_reset_handler(mrioc,
|
||||
MPI3MR_RESET_FROM_TM_TIMEOUT, 1);
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user