[PATCH 0/2] fix LCD diplays sporadically not work

Nam Cao namcao at linutronix.de
Mon Dec 18 09:57:29 UTC 2023


Hi,

While working with a framebuffer displays, I noticed that the displays
sporadically do not show the image as I expect.

After investigation: this is because my devices use deferred IO, and by
closing the framebuffers, all pending deferred IO get cancelled. This
causes the image I sent to the devices to just vanish. Using fsync() does
not always help, because the driver's implementation of fsync() does not
guarantee that all pending work is flushed on return.

This series solves the problem by flush the workqueue in .release(). Also
flush the workqueue in .fsync(), as it is supposed to do.

Nam Cao (2):
  fb: flush deferred work in fb_deferred_io_fsync()
  fb: flush deferred IO before closing

 drivers/video/fbdev/core/fb_defio.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

-- 
2.39.2



More information about the dri-devel mailing list