mirror of
https://github.com/LineageOS/android_kernel_fxtec_sm6115.git
synced 2026-08-18 12:11:02 +00:00
fbdev: offb: fix PCI device reference leak on probe failure
[ Upstream commit 869b93ba04088713596e68453c1146f52f713290 ]
offb_init_nodriver() gets a referenced PCI device with pci_get_device().
If pci_enable_device() fails, the function returns without dropping that
reference.
Release the PCI device reference before returning from the
pci_enable_device() failure path.
Fixes: 5bda8f7b54 ("video: fbdev: offb: Call pci_enable_device() before using the PCI VGA device")
Co-developed-by: Myeonghun Pak <mhun512@gmail.com>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Co-developed-by: Taegyu Kim <tmk5904@psu.edu>
Signed-off-by: Taegyu Kim <tmk5904@psu.edu>
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Ulrich Hecht <uli@kernel.org>
This commit is contained in:
@ -637,8 +637,13 @@ static void __init offb_init_nodriver(struct device_node *dp, int no_real_node)
|
||||
vid = be32_to_cpup(vidp);
|
||||
did = be32_to_cpup(didp);
|
||||
pdev = pci_get_device(vid, did, NULL);
|
||||
if (!pdev || pci_enable_device(pdev))
|
||||
if (!pdev)
|
||||
return;
|
||||
|
||||
if (pci_enable_device(pdev)) {
|
||||
pci_dev_put(pdev);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* kludge for valkyrie */
|
||||
|
||||
Reference in New Issue
Block a user