diff options
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas_base.c')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_base.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 0177295599e0..1f0ca68409d4 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c | |||
@@ -3547,11 +3547,21 @@ static int megasas_init_fw(struct megasas_instance *instance) | |||
3547 | break; | 3547 | break; |
3548 | } | 3548 | } |
3549 | 3549 | ||
3550 | /* | 3550 | if (megasas_transition_to_ready(instance, 0)) { |
3551 | * We expect the FW state to be READY | 3551 | atomic_set(&instance->fw_reset_no_pci_access, 1); |
3552 | */ | 3552 | instance->instancet->adp_reset |
3553 | if (megasas_transition_to_ready(instance, 0)) | 3553 | (instance, instance->reg_set); |
3554 | goto fail_ready_state; | 3554 | atomic_set(&instance->fw_reset_no_pci_access, 0); |
3555 | dev_info(&instance->pdev->dev, | ||
3556 | "megasas: FW restarted successfully from %s!\n", | ||
3557 | __func__); | ||
3558 | |||
3559 | /*waitting for about 30 second before retry*/ | ||
3560 | ssleep(30); | ||
3561 | |||
3562 | if (megasas_transition_to_ready(instance, 0)) | ||
3563 | goto fail_ready_state; | ||
3564 | } | ||
3555 | 3565 | ||
3556 | /* | 3566 | /* |
3557 | * MSI-X host index 0 is common for all adapter. | 3567 | * MSI-X host index 0 is common for all adapter. |