On Wed, Jan 31, 2024 at 10:00:22PM -0800, mhkelle...@gmail.com wrote:
> From: Michael Kelley <mhkli...@outlook.com>
> 
> A recent commit removing the use of screen_info introduced a logic
> error. The error causes hvfb_getmem() to always return -ENOMEM
> for Generation 2 VMs. As a result, the Hyper-V frame buffer
> device fails to initialize. The error was introduced by removing
> an "else if" clause, leaving Gen2 VMs to always take the -ENOMEM
> error path.
> 
> Fix the problem by removing the error path "else" clause. Gen 2
> VMs now always proceed through the MMIO memory allocation code,
> but with "base" and "size" defaulting to 0.
> 
> Fixes: 0aa0838c84da ("fbdev/hyperv_fb: Remove firmware framebuffers with 
> aperture helpers")
> Signed-off-by: Michael Kelley <mhkli...@outlook.com>
> ---
>  drivers/video/fbdev/hyperv_fb.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
> index c26ee6fd73c9..8fdccf033b2d 100644
> --- a/drivers/video/fbdev/hyperv_fb.c
> +++ b/drivers/video/fbdev/hyperv_fb.c
> @@ -1010,8 +1010,6 @@ static int hvfb_getmem(struct hv_device *hdev, struct 
> fb_info *info)
>                       goto getmem_done;
>               }
>               pr_info("Unable to allocate enough contiguous physical memory 
> on Gen 1 VM. Using MMIO instead.\n");
> -     } else {
> -             goto err1;
>       }
>  
>       /*
> -- 
> 2.25.1
>
Reviewed-by: Saurabh Sengar <ssen...@linux.microsoft.com> 

Reply via email to