scsi: megaraid_sas: Do not set HBA Operational if FW is not in operational state
After issuing a adapter reset, driver blindly used to set adprecovery flag to OPERATIONAL state. Add a check to see if the FW is operational before setting the flag and marking reset adapter successful. Link: https://lore.kernel.org/r/1579000882-20246-7-git-send-email-anand.lodnoor@broadcom.com Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Anand Lodnoor <anand.lodnoor@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
9330a0fd82
commit
eeb63c23ff
|
@ -4991,6 +4991,15 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
|
|||
megasas_set_dynamic_target_properties(sdev, is_target_prop);
|
||||
}
|
||||
|
||||
status_reg = instance->instancet->read_fw_status_reg
|
||||
(instance);
|
||||
abs_state = status_reg & MFI_STATE_MASK;
|
||||
if (abs_state != MFI_STATE_OPERATIONAL) {
|
||||
dev_info(&instance->pdev->dev,
|
||||
"Adapter is not OPERATIONAL, state 0x%x for scsi:%d\n",
|
||||
abs_state, instance->host->host_no);
|
||||
goto out;
|
||||
}
|
||||
atomic_set(&instance->adprecovery, MEGASAS_HBA_OPERATIONAL);
|
||||
|
||||
dev_info(&instance->pdev->dev,
|
||||
|
|
Loading…
Reference in New Issue