Skip to content

Commit 51ca86b

Browse files
Yang Yingliangkuba-moo
authored andcommitted
ethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one()
Fix the missing pci_disable_device() before return from tulip_init_one() in the error handling case. Reported-by: Hulk Robot <[email protected]> Signed-off-by: Yang Yingliang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent e4b1045 commit 51ca86b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/net/ethernet/dec/tulip/tulip_core.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1399,8 +1399,10 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
13991399

14001400
/* alloc_etherdev ensures aligned and zeroed private structures */
14011401
dev = alloc_etherdev (sizeof (*tp));
1402-
if (!dev)
1402+
if (!dev) {
1403+
pci_disable_device(pdev);
14031404
return -ENOMEM;
1405+
}
14041406

14051407
SET_NETDEV_DEV(dev, &pdev->dev);
14061408
if (pci_resource_len (pdev, 0) < tulip_tbl[chip_idx].io_size) {
@@ -1785,6 +1787,7 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
17851787

17861788
err_out_free_netdev:
17871789
free_netdev (dev);
1790+
pci_disable_device(pdev);
17881791
return -ENODEV;
17891792
}
17901793

0 commit comments

Comments
 (0)