qlcnic: Return proper error codes from probe failure paths
Fix error paths in probe to assign proper error codes to probe return value. Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c2bba06766
commit
02135582f3
|
@ -2016,8 +2016,10 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
pci_enable_pcie_error_reporting(pdev);
|
pci_enable_pcie_error_reporting(pdev);
|
||||||
|
|
||||||
ahw = kzalloc(sizeof(struct qlcnic_hardware_context), GFP_KERNEL);
|
ahw = kzalloc(sizeof(struct qlcnic_hardware_context), GFP_KERNEL);
|
||||||
if (!ahw)
|
if (!ahw) {
|
||||||
|
err = -ENOMEM;
|
||||||
goto err_out_free_res;
|
goto err_out_free_res;
|
||||||
|
}
|
||||||
|
|
||||||
switch (ent->device) {
|
switch (ent->device) {
|
||||||
case PCI_DEVICE_ID_QLOGIC_QLE824X:
|
case PCI_DEVICE_ID_QLOGIC_QLE824X:
|
||||||
|
@ -2053,6 +2055,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
|
|
||||||
adapter->qlcnic_wq = create_singlethread_workqueue("qlcnic");
|
adapter->qlcnic_wq = create_singlethread_workqueue("qlcnic");
|
||||||
if (adapter->qlcnic_wq == NULL) {
|
if (adapter->qlcnic_wq == NULL) {
|
||||||
|
err = -ENOMEM;
|
||||||
dev_err(&pdev->dev, "Failed to create workqueue\n");
|
dev_err(&pdev->dev, "Failed to create workqueue\n");
|
||||||
goto err_out_free_netdev;
|
goto err_out_free_netdev;
|
||||||
}
|
}
|
||||||
|
@ -2133,6 +2136,10 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
goto err_out_disable_msi;
|
goto err_out_disable_msi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = qlcnic_get_act_pci_func(adapter);
|
||||||
|
if (err)
|
||||||
|
goto err_out_disable_mbx_intr;
|
||||||
|
|
||||||
err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac);
|
err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_out_disable_mbx_intr;
|
goto err_out_disable_mbx_intr;
|
||||||
|
@ -2162,9 +2169,6 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qlcnic_get_act_pci_func(adapter))
|
|
||||||
goto err_out_disable_mbx_intr;
|
|
||||||
|
|
||||||
if (adapter->drv_mac_learn)
|
if (adapter->drv_mac_learn)
|
||||||
qlcnic_alloc_lb_filters_mem(adapter);
|
qlcnic_alloc_lb_filters_mem(adapter);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue