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 |
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); >
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 --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);
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(-)