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