summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/hyperv_fb.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-12-11 20:48:04 +0300
committerMark Brown <broonie@kernel.org>2020-12-11 20:48:04 +0300
commit460aa020f56c974a3e7e5b5378b2355fec6a2c11 (patch)
tree959dc05609eec2a040245f43964ae5738ee741cb /drivers/video/fbdev/hyperv_fb.c
parent031616c434db05ce766f76c62865f55698e0924f (diff)
parent84de089e770b57280d87dff51be894b6fda18810 (diff)
downloadlinux-460aa020f56c974a3e7e5b5378b2355fec6a2c11.tar.xz
Merge remote-tracking branch 'asoc/for-5.11' into asoc-next
Diffstat (limited to 'drivers/video/fbdev/hyperv_fb.c')
-rw-r--r--drivers/video/fbdev/hyperv_fb.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
index 02411d89cb46..e36fb1a0ecdb 100644
--- a/drivers/video/fbdev/hyperv_fb.c
+++ b/drivers/video/fbdev/hyperv_fb.c
@@ -1114,8 +1114,15 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
getmem_done:
remove_conflicting_framebuffers(info->apertures,
KBUILD_MODNAME, false);
- if (!gen2vm)
+
+ if (gen2vm) {
+ /* framebuffer is reallocated, clear screen_info to avoid misuse from kexec */
+ screen_info.lfb_size = 0;
+ screen_info.lfb_base = 0;
+ screen_info.orig_video_isVGA = 0;
+ } else {
pci_dev_put(pdev);
+ }
kfree(info->apertures);
return 0;