[SCSI] megaraid_sas: Fix failure gotos
Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
183ce896d7
commit
eb1b123773
2 changed files with 12 additions and 11 deletions
|
@ -3424,7 +3424,6 @@ megasas_init_adapter_mfi(struct megasas_instance *instance)
|
|||
megasas_free_cmds(instance);
|
||||
|
||||
fail_alloc_cmds:
|
||||
iounmap(instance->reg_set);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -3494,7 +3493,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
|||
|
||||
/* Get operational params, sge flags, send init cmd to controller */
|
||||
if (instance->instancet->init_adapter(instance))
|
||||
return -ENODEV;
|
||||
goto fail_init_adapter;
|
||||
|
||||
printk(KERN_ERR "megasas: INIT adapter done\n");
|
||||
|
||||
|
@ -3553,6 +3552,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
|||
MEGASAS_COMPLETION_TIMER_INTERVAL);
|
||||
return 0;
|
||||
|
||||
fail_init_adapter:
|
||||
fail_ready_state:
|
||||
iounmap(instance->reg_set);
|
||||
|
||||
|
@ -4105,10 +4105,13 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
instance->instancet->disable_intr(instance->reg_set);
|
||||
free_irq(instance->msi_flag ? instance->msixentry.vector :
|
||||
instance->pdev->irq, instance);
|
||||
fail_irq:
|
||||
if (instance->msi_flag)
|
||||
pci_disable_msix(instance->pdev);
|
||||
|
||||
fail_irq:
|
||||
if (instance->pdev->device == PCI_DEVICE_ID_LSI_FUSION)
|
||||
megasas_release_fusion(instance);
|
||||
else
|
||||
megasas_release_mfi(instance);
|
||||
fail_init_mfi:
|
||||
fail_alloc_dma_buf:
|
||||
if (instance->evt_detail)
|
||||
|
@ -4116,13 +4119,9 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
instance->evt_detail,
|
||||
instance->evt_detail_h);
|
||||
|
||||
if (instance->producer) {
|
||||
if (instance->producer)
|
||||
pci_free_consistent(pdev, sizeof(u32), instance->producer,
|
||||
instance->producer_h);
|
||||
megasas_release_mfi(instance);
|
||||
} else {
|
||||
megasas_release_fusion(instance);
|
||||
}
|
||||
if (instance->consumer)
|
||||
pci_free_consistent(pdev, sizeof(u32), instance->consumer,
|
||||
instance->consumer_h);
|
||||
|
|
|
@ -984,13 +984,15 @@ megasas_init_adapter_fusion(struct megasas_instance *instance)
|
|||
|
||||
return 0;
|
||||
|
||||
fail_alloc_cmds:
|
||||
fail_alloc_mfi_cmds:
|
||||
fail_map_info:
|
||||
if (i == 1)
|
||||
dma_free_coherent(&instance->pdev->dev, fusion->map_sz,
|
||||
fusion->ld_map[0], fusion->ld_map_phys[0]);
|
||||
fail_ioc_init:
|
||||
megasas_free_cmds_fusion(instance);
|
||||
fail_alloc_cmds:
|
||||
megasas_free_cmds(instance);
|
||||
fail_alloc_mfi_cmds:
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue