Skip to content

Commit 0213558

Browse files
Sony Chackodavem330
authored andcommitted
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>
1 parent c2bba06 commit 0213558

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2016,8 +2016,10 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
20162016
pci_enable_pcie_error_reporting(pdev);
20172017

20182018
ahw = kzalloc(sizeof(struct qlcnic_hardware_context), GFP_KERNEL);
2019-
if (!ahw)
2019+
if (!ahw) {
2020+
err = -ENOMEM;
20202021
goto err_out_free_res;
2022+
}
20212023

20222024
switch (ent->device) {
20232025
case PCI_DEVICE_ID_QLOGIC_QLE824X:
@@ -2053,6 +2055,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
20532055

20542056
adapter->qlcnic_wq = create_singlethread_workqueue("qlcnic");
20552057
if (adapter->qlcnic_wq == NULL) {
2058+
err = -ENOMEM;
20562059
dev_err(&pdev->dev, "Failed to create workqueue\n");
20572060
goto err_out_free_netdev;
20582061
}
@@ -2133,6 +2136,10 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
21332136
goto err_out_disable_msi;
21342137
}
21352138

2139+
err = qlcnic_get_act_pci_func(adapter);
2140+
if (err)
2141+
goto err_out_disable_mbx_intr;
2142+
21362143
err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac);
21372144
if (err)
21382145
goto err_out_disable_mbx_intr;
@@ -2162,9 +2169,6 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
21622169
break;
21632170
}
21642171

2165-
if (qlcnic_get_act_pci_func(adapter))
2166-
goto err_out_disable_mbx_intr;
2167-
21682172
if (adapter->drv_mac_learn)
21692173
qlcnic_alloc_lb_filters_mem(adapter);
21702174

0 commit comments

Comments
 (0)