Message ID | 20220124123659.4692-1-tzimmermann@suse.de |
---|---|
Headers | show |
Series | sysfb: Fix memory-region management | expand |
On 1/24/22 14:52, Javier Martinez Canillas wrote: [snip] >> @@ -1898,9 +1917,13 @@ EXPORT_SYMBOL(register_framebuffer); >> void >> unregister_framebuffer(struct fb_info *fb_info) >> { >> - mutex_lock(®istration_lock); >> + bool forced_out = fb_info->forced_out; >> + >> + if (!forced_out) >> + mutex_lock(®istration_lock); >> do_unregister_framebuffer(fb_info); >> - mutex_unlock(®istration_lock); >> + if (!forced_out) >> + mutex_unlock(®istration_lock); >> } > > I'm not sure to follow the logic here. The forced_out bool is set when the > platform device is unregistered in do_remove_conflicting_framebuffers(), > but shouldn't the struct platform_driver .remove callback be executed even > in this case ? > > That is, the platform_device_unregister() will trigger the call to the > .remove callback that in turn will call unregister_framebuffer(). > > Shouldn't we always hold the mutex when calling do_unregister_framebuffer() ? > Scratch that, I got it now. That's exactly the reason why you skip the mutext_lock(). After adding the check for dev, feel free to add: Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Best regards,
On 1/24/22 13:36, Thomas Zimmermann wrote: > Add a TODO item about requesting memory regions for each driver. The > current DRM drivers don't do this consistently. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > --- Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Best regards,
On Mon, 2022-01-24 at 13:36 +0100, Thomas Zimmermann wrote: > From: Javier Martinez Canillas <javierm@redhat.com> > > The sysfb_create_simplefb() function requests a IO memory resource for > the > simple-framebuffer platform device, but it also marks it as busy which > can > lead to drivers requesting the same memory resource to fail. > > Let's drop the IORESOURCE_BUSY flag and let drivers to request it as > busy > instead. > > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Zack Rusin <zackr@vmware.com>