Messages in this thread Patch in this message | | | From | Alistair Francis <> | Date | Thu, 19 Aug 2021 18:16:00 +1000 | Subject | Re: Revert "video: fbdev: mxsfb: Remove driver" |
| |
On Thu, Aug 19, 2021 at 4:31 AM Sam Ravnborg <sam@ravnborg.org> wrote: > > Hi Alistair, > > > prctl(PR_CAPBSET_READ, 0x30 /* CAP_??? */) = -1 EINVAL (Invalid argument) > > prctl(PR_CAPBSET_READ, 0x2c /* CAP_??? */) = -1 EINVAL (Invalid argument) > > prctl(PR_CAPBSET_READ, 0x2a /* CAP_??? */) = -1 EINVAL (Invalid argument) > > prctl(PR_CAPBSET_READ, 0x29 /* CAP_??? */) = -1 EINVAL (Invalid argument) > > ioctl(5, FBIOPUT_VSCREENINFO, 0x4ce8e0) = -1 EINVAL (Invalid argument) > > > > I'm guessing it's related to FBIOPUT_VSCREENINFO then, is that > > something that could be added to the DRM emulation? > > Just to try to verify this could you try to return early > in the switch where we have FBIOPUT_VSCREENINFO? > > In fbmem.c in do_fb_ioctl() just add a printk("something\n") and > return 0 in the FBIOPUT_VSCREENINFO case.
Yep, this diff changes the working screen with the fbdev driver to not working:
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 1c855145711b..0f781914eca0 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1099,18 +1099,8 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, ret = copy_to_user(argp, &var, sizeof(var)) ? -EFAULT : 0; break; case FBIOPUT_VSCREENINFO: - if (copy_from_user(&var, argp, sizeof(var))) - return -EFAULT; - console_lock(); - lock_fb_info(info); - ret = fb_set_var(info, &var); - if (!ret) - fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL); - unlock_fb_info(info); - console_unlock(); - if (!ret && copy_to_user(argp, &var, sizeof(var))) - ret = -EFAULT; - break; + printk("FBIOPUT_VSCREENINFO Returning early"); + return -EINVAL; case FBIOGET_FSCREENINFO: lock_fb_info(info); memcpy(&fix, &info->fix, sizeof(fix)); So FBIOPUT_VSCREENINFO is the issue (or at least one of them).
Alistair
> > The printk is just so something pops up in the logging. > > If this makes you going then we need to look at how to add this to the > emulation or some other way to deal with this. > > Sam
| |