xen-pcifront: fix PCI reference leak
Stanse found that when pdev is found and has no driver a reference is leaked in pcifront_common_process. So add pci_dev_put there. For the pdev == NULL case, pci_dev_put(NULL) is fine. [v2: Updated to not dereference pcidev->dev per Milton's observation] Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Milton Miller <miltonm@bga.com> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
c8ac3902fb
commit
2a63dd7275
|
@ -575,8 +575,9 @@ static pci_ers_result_t pcifront_common_process(int cmd,
|
|||
|
||||
pcidev = pci_get_bus_and_slot(bus, devfn);
|
||||
if (!pcidev || !pcidev->driver) {
|
||||
dev_err(&pcidev->dev,
|
||||
"device or driver is NULL\n");
|
||||
dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
|
||||
if (pcidev)
|
||||
pci_dev_put(pcidev);
|
||||
return result;
|
||||
}
|
||||
pdrv = pcidev->driver;
|
||||
|
|
Loading…
Reference in New Issue