projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2a269ba
)
efifb: Check efifb_pci_dev before using it
author
Kai-Heng Feng
<kai.heng.feng@canonical.com>
Tue, 13 Apr 2021 17:05:08 +0000
(
01:05
+0800)
committer
Alex Deucher
<alexander.deucher@amd.com>
Mon, 26 Apr 2021 21:33:03 +0000
(17:33 -0400)
On some platforms like Hyper-V and RPi4 with UEFI firmware, efifb is not
a PCI device.
So make sure efifb_pci_dev is found before using it.
Fixes: a6c0fd3d5a8b ("efifb: Ensure graphics device for efifb stays at PCI D0")
BugLink:
https://bugs.launchpad.net/bugs/1922403
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20210413170508.968148-1-kai.heng.feng@canonical.com
drivers/video/fbdev/efifb.c
patch
|
blob
|
history
diff --git
a/drivers/video/fbdev/efifb.c
b/drivers/video/fbdev/efifb.c
index f58a545b3bf301d99b71de912b63d1b24bcb9dc7..8ea8f079cde267282f8e6bfb5805f56232994fea 100644
(file)
--- a/
drivers/video/fbdev/efifb.c
+++ b/
drivers/video/fbdev/efifb.c
@@
-575,7
+575,8
@@
static int efifb_probe(struct platform_device *dev)
goto err_fb_dealoc;
}
fb_info(info, "%s frame buffer device\n", info->fix.id);
- pm_runtime_get_sync(&efifb_pci_dev->dev);
+ if (efifb_pci_dev)
+ pm_runtime_get_sync(&efifb_pci_dev->dev);
return 0;
err_fb_dealoc:
@@
-602,7
+603,8
@@
static int efifb_remove(struct platform_device *pdev)
unregister_framebuffer(info);
sysfs_remove_groups(&pdev->dev.kobj, efifb_groups);
framebuffer_release(info);
- pm_runtime_put(&efifb_pci_dev->dev);
+ if (efifb_pci_dev)
+ pm_runtime_put(&efifb_pci_dev->dev);
return 0;
}