fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit()
authorJorge Maidana <jorgem.linux@gmail.com>
Fri, 6 Oct 2023 20:43:47 +0000 (17:43 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2023 13:11:00 +0000 (14:11 +0100)
[ Upstream commit 1022e7e2f40574c74ed32c3811b03d26b0b81daf ]

Delete the v86d netlink only after all the VBE tasks have been
completed.

Fixes initial state restore on module unload:
uvesafb: VBE state restore call failed (eax=0x4f04, err=-19)

Signed-off-by: Jorge Maidana <jorgem.linux@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/video/fbdev/uvesafb.c

index 0e3cabb..a85463d 100644 (file)
@@ -1935,10 +1935,10 @@ static void uvesafb_exit(void)
                }
        }
 
-       cn_del_callback(&uvesafb_cn_id);
        driver_remove_file(&uvesafb_driver.driver, &driver_attr_v86d);
        platform_device_unregister(uvesafb_device);
        platform_driver_unregister(&uvesafb_driver);
+       cn_del_callback(&uvesafb_cn_id);
 }
 
 module_exit(uvesafb_exit);