Commit 869b93ba authored by Yuho Choi's avatar Yuho Choi Committed by Helge Deller
Browse files

fbdev: offb: fix PCI device reference leak on probe failure



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: 5bda8f7b ("video: fbdev: offb: Call pci_enable_device() before using the PCI VGA device")
Co-developed-by: default avatarMyeonghun Pak <mhun512@gmail.com>
Signed-off-by: default avatarMyeonghun Pak <mhun512@gmail.com>
Co-developed-by: default avatarIjae Kim <ae878000@gmail.com>
Signed-off-by: default avatarIjae Kim <ae878000@gmail.com>
Co-developed-by: default avatarTaegyu Kim <tmk5904@psu.edu>
Signed-off-by: default avatarTaegyu Kim <tmk5904@psu.edu>
Signed-off-by: default avatarYuho Choi <dbgh9129@gmail.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 6596a02b
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -640,8 +640,13 @@ static void offb_init_nodriver(struct platform_device *parent, struct device_nod
			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 */