Print this page
7813 mpt_sas does not like concurrent HBA resets
@@ -600,12 +600,12 @@
if (config_flags & MPTSAS_REQUEST_POOL_CMD)
mptsas_return_to_pool(mpt, cmd);
if (config_flags & MPTSAS_CMD_TIMEOUT) {
mpt->m_softstate &= ~MPTSAS_SS_MSG_UNIT_RESET;
- if ((mptsas_restart_ioc(mpt)) == DDI_FAILURE) {
- mptsas_log(mpt, CE_WARN, "mptsas_restart_ioc failed");
+ if ((mptsas_reset_handler(mpt)) == DDI_FAILURE) {
+ mptsas_log(mpt, CE_WARN, "mptsas_reset_handler failed");
}
}
return (rval);
}
@@ -1201,12 +1201,12 @@
*/
if (rval == FALSE) {
mptsas_log(mpt, CE_WARN, "mptsas_ioc_task_management failed "
"try to reset ioc to recovery!");
mpt->m_softstate &= ~MPTSAS_SS_MSG_UNIT_RESET;
- if (mptsas_restart_ioc(mpt)) {
- mptsas_log(mpt, CE_WARN, "mptsas_restart_ioc failed");
+ if (mptsas_reset_handler(mpt)) {
+ mptsas_log(mpt, CE_WARN, "mptsas_reset_handler failed");
rval = FAILED;
}
}
return (rval);
@@ -1404,12 +1404,12 @@
rvalue = 0;
(void) cv_reltimedwait(&mpt->m_fw_cv, &mpt->m_mutex,
drv_usectohz(60 * MICROSEC), TR_CLOCK_TICK);
if (!(cmd->cmd_flags & CFLAG_FINISHED)) {
mpt->m_softstate &= ~MPTSAS_SS_MSG_UNIT_RESET;
- if ((mptsas_restart_ioc(mpt)) == DDI_FAILURE) {
- mptsas_log(mpt, CE_WARN, "mptsas_restart_ioc failed");
+ if ((mptsas_reset_handler(mpt)) == DDI_FAILURE) {
+ mptsas_log(mpt, CE_WARN, "mptsas_reset_handler failed");
}
rvalue = -1;
}
mptsas_remove_cmd(mpt, cmd);
mptsas_dma_addr_destroy(&flsh_dma_handle, &flsh_accessp);