提交 42686069 编写于 作者: S Shivasharan S 提交者: Xie XiuQi

scsi: megaraid_sas: Fix goto labels in error handling

[ Upstream commit 8a25fa17b6ed6e6c8101e9c68a10ae68a9025f2c ]

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: NShivasharan S <shivasharan.srikanteshwara@broadcom.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 207baca5
...@@ -5410,7 +5410,7 @@ static int megasas_init_fw(struct megasas_instance *instance) ...@@ -5410,7 +5410,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);
...@@ -5619,9 +5619,8 @@ static int megasas_init_fw(struct megasas_instance *instance) ...@@ -5619,9 +5619,8 @@ static int megasas_init_fw(struct megasas_instance *instance)
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册