mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 19:23:57 +08:00
HID: picolcd: fix deferred_io init/cleanup to fb ordering
Adjust ordering if framebuffer (un)registration and defio init/cleanup to match the correct order (init defio, register FB ... unregister FB, cleanup defio) Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
6dc398acf9
commit
a7c9a0aa17
@ -707,18 +707,19 @@ static int picolcd_init_framebuffer(struct picolcd_data *data)
|
||||
dev_err(dev, "failed to create sysfs attributes\n");
|
||||
goto err_cleanup;
|
||||
}
|
||||
fb_deferred_io_init(info);
|
||||
data->fb_info = info;
|
||||
error = register_framebuffer(info);
|
||||
if (error) {
|
||||
dev_err(dev, "failed to register framebuffer\n");
|
||||
goto err_sysfs;
|
||||
}
|
||||
fb_deferred_io_init(info);
|
||||
/* schedule first output of framebuffer */
|
||||
schedule_delayed_work(&info->deferred_work, 0);
|
||||
return 0;
|
||||
|
||||
err_sysfs:
|
||||
fb_deferred_io_cleanup(info);
|
||||
device_remove_file(dev, &dev_attr_fb_update_rate);
|
||||
err_cleanup:
|
||||
data->fb_vbitmap = NULL;
|
||||
@ -747,7 +748,6 @@ static void picolcd_exit_framebuffer(struct picolcd_data *data)
|
||||
data->fb_bpp = 0;
|
||||
data->fb_info = NULL;
|
||||
device_remove_file(&data->hdev->dev, &dev_attr_fb_update_rate);
|
||||
fb_deferred_io_cleanup(info);
|
||||
unregister_framebuffer(info);
|
||||
vfree(fb_bitmap);
|
||||
kfree(fb_vbitmap);
|
||||
|
Loading…
Reference in New Issue
Block a user