Skip to content

Commit 35104c8

Browse files
Uuuuuuhogregkh
authored andcommitted
fbdev: offb: fix PCI device reference leak on probe failure
[ Upstream commit 869b93b ] 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: 5bda8f7 ("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>
1 parent f22b2d4 commit 35104c8

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

drivers/video/fbdev/offb.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -640,8 +640,13 @@ static void offb_init_nodriver(struct platform_device *parent, struct device_nod
640640
vid = be32_to_cpup(vidp);
641641
did = be32_to_cpup(didp);
642642
pdev = pci_get_device(vid, did, NULL);
643-
if (!pdev || pci_enable_device(pdev))
643+
if (!pdev)
644644
return;
645+
646+
if (pci_enable_device(pdev)) {
647+
pci_dev_put(pdev);
648+
return;
649+
}
645650
}
646651
#endif
647652
/* kludge for valkyrie */

0 commit comments

Comments
 (0)