mirror of https://gitee.com/openkylin/linux.git
scsi: megaraid_sas: Fix goto labels in error handling
During init, if pci_alloc_irq_vectors() fails, the driver has not yet setup the IRQs. Fix the goto labels and error handling for this case. Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
365597cff9
commit
8a25fa17b6
|
@ -5473,7 +5473,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||||
if (!instance->msix_vectors) {
|
if (!instance->msix_vectors) {
|
||||||
i = pci_alloc_irq_vectors(instance->pdev, 1, 1, PCI_IRQ_LEGACY);
|
i = pci_alloc_irq_vectors(instance->pdev, 1, 1, PCI_IRQ_LEGACY);
|
||||||
if (i < 0)
|
if (i < 0)
|
||||||
goto fail_setup_irqs;
|
goto fail_init_adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
megasas_setup_reply_map(instance);
|
megasas_setup_reply_map(instance);
|
||||||
|
@ -5698,9 +5698,8 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||||
del_timer_sync(&instance->sriov_heartbeat_timer);
|
del_timer_sync(&instance->sriov_heartbeat_timer);
|
||||||
fail_get_ld_pd_list:
|
fail_get_ld_pd_list:
|
||||||
instance->instancet->disable_intr(instance);
|
instance->instancet->disable_intr(instance);
|
||||||
fail_init_adapter:
|
|
||||||
megasas_destroy_irqs(instance);
|
megasas_destroy_irqs(instance);
|
||||||
fail_setup_irqs:
|
fail_init_adapter:
|
||||||
if (instance->msix_vectors)
|
if (instance->msix_vectors)
|
||||||
pci_free_irq_vectors(instance->pdev);
|
pci_free_irq_vectors(instance->pdev);
|
||||||
instance->msix_vectors = 0;
|
instance->msix_vectors = 0;
|
||||||
|
|
Loading…
Reference in New Issue