diff mbox series

[v2] drm/bochs: downgrade pci_request_region failure from error to warning

Message ID 20200207115744.4559-1-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/bochs: downgrade pci_request_region failure from error to warning | expand

Commit Message

Gerd Hoffmann Feb. 7, 2020, 11:57 a.m. UTC
Shutdown of firmware framebuffer has a bunch of problems.  Because
of this the framebuffer region might still be reserved even after
drm_fb_helper_remove_conflicting_pci_framebuffers() returned.

Don't consider pci_request_region() failure for the framebuffer
region as fatal error to workaround this issue.

Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 drivers/gpu/drm/bochs/bochs_hw.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Thomas Zimmermann Feb. 7, 2020, 12:06 p.m. UTC | #1
Hi

Am 07.02.20 um 12:57 schrieb Gerd Hoffmann:
> Shutdown of firmware framebuffer has a bunch of problems.  Because
> of this the framebuffer region might still be reserved even after
> drm_fb_helper_remove_conflicting_pci_framebuffers() returned.

Out of curiosity: what's going wrong here?

Best regards
Thomas

> 
> Don't consider pci_request_region() failure for the framebuffer
> region as fatal error to workaround this issue.
> 
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  drivers/gpu/drm/bochs/bochs_hw.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bochs/bochs_hw.c b/drivers/gpu/drm/bochs/bochs_hw.c
> index b615b7dfdd9d..a387efa9e559 100644
> --- a/drivers/gpu/drm/bochs/bochs_hw.c
> +++ b/drivers/gpu/drm/bochs/bochs_hw.c
> @@ -157,8 +157,7 @@ int bochs_hw_init(struct drm_device *dev)
>  	}
>  
>  	if (pci_request_region(pdev, 0, "bochs-drm") != 0) {
> -		DRM_ERROR("Cannot request framebuffer\n");
> -		return -EBUSY;
> +		DRM_WARN("Cannot request framebuffer, boot framebuffer still active?\n");
>  	}
>  
>  	bochs->fb_map = ioremap(addr, size);
>
Gerd Hoffmann Feb. 7, 2020, 12:39 p.m. UTC | #2
On Fri, Feb 07, 2020 at 01:06:00PM +0100, Thomas Zimmermann wrote:
> Hi
> 
> Am 07.02.20 um 12:57 schrieb Gerd Hoffmann:
> > Shutdown of firmware framebuffer has a bunch of problems.  Because
> > of this the framebuffer region might still be reserved even after
> > drm_fb_helper_remove_conflicting_pci_framebuffers() returned.
> 
> Out of curiosity: what's going wrong here?

Very short version: userspace keeping /dev/fb0 open delays
firmware framebuffer deinit.

Long version by Daniel Vetter:
https://www.spinics.net/lists/linux-fbdev/msg28178.html

cheers,
  Gerd
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bochs/bochs_hw.c b/drivers/gpu/drm/bochs/bochs_hw.c
index b615b7dfdd9d..a387efa9e559 100644
--- a/drivers/gpu/drm/bochs/bochs_hw.c
+++ b/drivers/gpu/drm/bochs/bochs_hw.c
@@ -157,8 +157,7 @@  int bochs_hw_init(struct drm_device *dev)
 	}
 
 	if (pci_request_region(pdev, 0, "bochs-drm") != 0) {
-		DRM_ERROR("Cannot request framebuffer\n");
-		return -EBUSY;
+		DRM_WARN("Cannot request framebuffer, boot framebuffer still active?\n");
 	}
 
 	bochs->fb_map = ioremap(addr, size);