On Wed, Apr 20, 2022 at 10:52:58AM +0200, Javier Martinez Canillas wrote: > Hello, > > The patches in this series are mostly changes suggested by Daniel Vetter > to fix some race conditions that exists between the fbdev core (fbmem) > and sysfb with regard to device registration and removal. > > For example, it is currently possible for sysfb to register a platform > device after a real DRM driver was registered and requested to remove the > conflicting framebuffers. > > A symptom of this issue, was worked around with by commit fb561bf9abde > ("fbdev: Prevent probing generic drivers if a FB is already registered") > but that's really a hack and should be reverted. > > This series attempt to fix it more properly and revert the mentioned hack. > That will also unblock a pending patch to not make the num_registered_fb > variable visible to drivers anymore, since that's internal to fbdev core. > > Patch #1 is just a trivial preparatory change. > > Patch #2 add sysfb_disable() and sysfb_try_unregister() helpers for fbmem > to use them. > > Patch #3 changes how is dealt with conflicting framebuffers unregistering, > rather than having a variable to determine if a lock should be take, it > just drops the lock before unregistering the platform device. > > Patch #4 fixes the mentioned race conditions and finally patch #5 is the > revert patch that was posted by Daniel before but he dropped from his set. > > The patches were tested on a rpi4 using different video configurations: > (simpledrm -> vc4 both builtin, only vc4 builtin, only simpledrm builtin > and simpledrm builtin with vc4 built as a module). > > Best regards, > Javier Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>