On Thu, Nov 11, 2021 at 10:20:53AM +0100, Javier Martinez Canillas wrote: > The efifb and simplefb drivers just render to a pre-allocated frame buffer > and rely on the display hardware being initialized before the kernel boots. > > But if another driver already probed correctly and registered a fbdev, the > generic drivers shouldn't be probed since an actual driver for the display > hardware is already present. > > Reported-by: Ilya Trukhanov <lahvuun@xxxxxxxxx> > Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Also Cc: stable@xxxxxxxxxxxxxxx? btw time to organize drm-misc commit rights so you can push stuff like this? -Daniel > --- > > drivers/video/fbdev/efifb.c | 6 ++++++ > drivers/video/fbdev/simplefb.c | 6 ++++++ > 2 files changed, 12 insertions(+) > > diff --git drivers/video/fbdev/efifb.c drivers/video/fbdev/efifb.c > index edca3703b964..76325c07cf0c 100644 > --- drivers/video/fbdev/efifb.c > +++ drivers/video/fbdev/efifb.c > @@ -351,6 +351,12 @@ static int efifb_probe(struct platform_device *dev) > char *option = NULL; > efi_memory_desc_t md; > > + if (num_registered_fb > 0) { > + dev_err(&dev->dev, > + "efifb: a framebuffer is already registered\n"); > + return -EINVAL; > + } > + > if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled) > return -ENODEV; > > diff --git drivers/video/fbdev/simplefb.c drivers/video/fbdev/simplefb.c > index 62f0ded70681..55c1f54d7663 100644 > --- drivers/video/fbdev/simplefb.c > +++ drivers/video/fbdev/simplefb.c > @@ -407,6 +407,12 @@ static int simplefb_probe(struct platform_device *pdev) > struct simplefb_par *par; > struct resource *mem; > > + if (num_registered_fb > 0) { > + dev_err(&pdev->dev, > + "simplefb: a framebuffer is already registered\n"); > + return -EINVAL; > + } > + > if (fb_get_options("simplefb", NULL)) > return -ENODEV; > > -- > 2.33.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch