Showing error 833

User: Jiri Slaby
Error type: Resource Leak
Error type description: The code omits to put the resource to the system for reuse
File location: drivers/edac/e752x_edac.c
Line in file: 1061
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:40:13 UTC


Source:

1031                        row++;
1032                        last = value;
1033                }
1034        }
1035}
1036
1037/* Return 0 on success or 1 on failure. */
1038static int e752x_get_devs(struct pci_dev *pdev, int dev_idx,
1039                        struct e752x_pvt *pvt)
1040{
1041        struct pci_dev *dev;
1042
1043        pvt->bridge_ck = pci_get_device(PCI_VENDOR_ID_INTEL,
1044                                pvt->dev_info->err_dev, pvt->bridge_ck);
1045
1046        if (pvt->bridge_ck == NULL)
1047                pvt->bridge_ck = pci_scan_single_device(pdev->bus,
1048                                                        PCI_DEVFN(0, 1));
1049
1050        if (pvt->bridge_ck == NULL) {
1051                e752x_printk(KERN_ERR, "error reporting device not found:"
1052                        "vendor %x device 0x%x (broken BIOS?)\n",
1053                        PCI_VENDOR_ID_INTEL, e752x_devs[dev_idx].err_dev);
1054                return 1;
1055        }
1056
1057        dev = pci_get_device(PCI_VENDOR_ID_INTEL,
1058                                e752x_devs[dev_idx].ctl_dev,
1059                                NULL);
1060
1061        if (dev == NULL)
1062                goto fail;
1063
1064        pvt->dev_d0f0 = dev;
1065        pvt->dev_d0f1 = pci_dev_get(pvt->bridge_ck);
1066
1067        return 0;
1068
1069fail:
1070        pci_dev_put(pvt->bridge_ck);
1071        return 1;
Show full sources